:root{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif;color:#213e37;background:#e9eeeb;font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}button:disabled{opacity:.5;cursor:wait}[hidden]{display:none!important}.shell{max-width:480px;min-height:100dvh;margin:auto;background:#f8faf7}header{display:flex;justify-content:space-between;align-items:center;padding:24px 24px 18px}.brand{display:flex;align-items:center;gap:9px;font-size:calc(15px * var(--ui-fontScale,1));font-weight:600}.brand-mark{display:grid;place-items:center;background:#174c43;color:#eee7c6;width:28px;height:28px;border-radius:9px;font-family:serif;font-style:italic}.version{font-size:calc(11px * var(--ui-fontScale,1));color:#73877e;border:1px solid #dce4de;padding:5px 8px;border-radius:20px}main{padding:12px 24px calc(110px + env(safe-area-inset-bottom));outline:0}.eyebrow{font-size:calc(12px * var(--ui-fontScale,1));color:#82928a;margin:8px 0}h1{font-size:calc(29px * var(--ui-fontScale,1));letter-spacing:1px;margin:0 0 24px;font-weight:600}h2{font-size:calc(17px * var(--ui-fontScale,1));margin:0}p{line-height:1.7}.hero{position:relative;overflow:hidden;border-radius:22px;background:#174c43;color:white;padding:25px}.pill{font-size:calc(10px * var(--ui-fontScale,1));letter-spacing:2px;color:#d5dcba}.hero h2{font-size:calc(28px * var(--ui-fontScale,1));line-height:1.55;font-weight:500;margin:18px 0 10px;position:relative;z-index:1}.hero p{font-size:calc(11px * var(--ui-fontScale,1));color:#c0d3c9}.light{position:relative;z-index:1;background:#e6edcf;color:#25473b;border:0;border-radius:9px;padding:12px 16px;font-size:calc(12px * var(--ui-fontScale,1));margin-top:10px}.light span{margin-left:22px}.orb{width:160px;height:160px;border:1px solid #ffffff25;border-radius:50%;position:absolute;right:-50px;bottom:5px;box-shadow:0 0 0 23px #ffffff05,0 0 0 45px #ffffff04}.section-title{display:flex;justify-content:space-between;align-items:center;margin:28px 0 16px}.section-title>span{font-size:calc(11px * var(--ui-fontScale,1));color:#92a197}.services{display:flex;gap:12px}.services button{flex:1;border:1px solid #e7ece4;background:white;border-radius:14px;padding:16px 4px;font-size:calc(12px * var(--ui-fontScale,1));color:#334e42}.services b{display:block;font-size:calc(23px * var(--ui-fontScale,1));font-weight:400;color:#538067;margin-bottom:10px}.empty{padding:26px 16px;background:white;border:1px solid #e9eee7;border-radius:16px;text-align:center}.empty-icon{font-size:calc(28px * var(--ui-fontScale,1));color:#9aaf94}.empty h3{font-size:calc(14px * var(--ui-fontScale,1));font-weight:500}.empty p{font-size:calc(12px * var(--ui-fontScale,1));color:#86928a;margin:10px 0}.large{padding:70px 20px}.notice{margin-top:20px;padding:18px;border-radius:14px;background:#eff2e7;font-size:calc(12px * var(--ui-fontScale,1))}.notice strong{font-weight:500}.notice p{margin-bottom:0;color:#7b8771}.text-button{border:0;background:none;color:#547b67;font-size:calc(12px * var(--ui-fontScale,1));padding:4px}.config-status{font-size:calc(11px * var(--ui-fontScale,1));color:#8d7963}.refresh{display:block;margin:20px auto 0;color:#8c9a91}.segmented{display:flex;background:#eaf0e9;border-radius:12px;padding:5px;margin-bottom:20px}.segmented button{flex:1;padding:10px;border:0;background:none;color:#7b8a80;border-radius:8px;font-size:calc(13px * var(--ui-fontScale,1))}.segmented .selected{background:white;color:#174c43;box-shadow:0 2px 8px #12351b08}.balance{background:#174c43;border-radius:20px;color:white;padding:26px}.balance p{font-size:calc(12px * var(--ui-fontScale,1));color:#c5d8ce;margin-top:0}.balance strong{display:block;font-size:calc(36px * var(--ui-fontScale,1));letter-spacing:4px;margin:20px 0}.balance span{font-size:calc(11px * var(--ui-fontScale,1));color:#b5cbbd}.rows{background:white;border:1px solid #e9eee7;border-radius:16px;padding:0 18px}.rows>div{display:flex;justify-content:space-between;padding:20px 0;border-bottom:1px solid #f0f3ef;font-size:calc(14px * var(--ui-fontScale,1))}.rows>div:last-child{border:0}.rows span{font-size:calc(11px * var(--ui-fontScale,1));color:#9aa59c}.profile-card{display:flex;align-items:center;gap:14px;margin:30px 0}.profile-card h2{font-size:calc(16px * var(--ui-fontScale,1))}.profile-card p{font-size:calc(11px * var(--ui-fontScale,1));color:#8c9a91}.avatar{display:grid;place-items:center;width:56px;height:56px;flex-shrink:0;border-radius:50%;background:#e6ecdf;color:#64816a;font-size:calc(30px * var(--ui-fontScale,1))}nav{position:fixed;bottom:0;width:100%;max-width:480px;display:grid;grid-template-columns:repeat(4,1fr);background:#fffffff2;backdrop-filter:blur(15px);border-top:1px solid #edf0e9;padding:12px 8px calc(12px + env(safe-area-inset-bottom));z-index:10}nav a{color:#91a097;text-decoration:none;display:flex;align-items:center;flex-direction:column;gap:6px;font-size:calc(11px * var(--ui-fontScale,1));min-width:0}nav svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}nav a[aria-current]{color:#175e49;font-weight:600}nav span{max-width:100%;white-space:nowrap}:focus-visible{outline:2px solid #59987c;outline-offset:4px}@media(max-width:350px){main{padding-left:16px;padding-right:16px}header{padding-left:16px;padding-right:16px}nav a{font-size:calc(10px * var(--ui-fontScale,1))}}
.scope-note{font-size:calc(12px * var(--ui-fontScale,1));color:#82928a;line-height:1.8}.record-card{background:white;border:1px solid #e5ece4;border-radius:16px;padding:20px;margin-bottom:14px;overflow-wrap:anywhere}.record-card h3{font-size:calc(16px * var(--ui-fontScale,1));margin:0 0 18px}.record-row{display:flex;justify-content:space-between;gap:16px;padding:8px 0;font-size:calc(12px * var(--ui-fontScale,1))}.record-row span{color:#82928a}.record-row strong{font-weight:500;text-align:right}
#auth-form{padding:22px;background:white;border:1px solid #e5ece4;border-radius:18px}#auth-form label{display:block;font-size:calc(13px * var(--ui-fontScale,1));margin-bottom:18px}#auth-form input{display:block;width:100%;margin-top:9px;padding:13px 12px;border:1px solid #dce5dc;border-radius:9px;font:inherit;font-size:calc(16px * var(--ui-fontScale,1));color:#213e37;background:#fafcf9}.auth-submit{width:100%;background:#174c43;color:white;border:0;border-radius:10px;padding:14px;font:inherit}#auth-message{font-size:calc(13px * var(--ui-fontScale,1));color:#b44335;overflow-wrap:anywhere}

.detail-link{display:block;width:100%;text-align:right;padding:14px 0 0;margin-top:10px;border:0;border-top:1px solid #eaf0e9;color:#175e49;background:none;font-size:calc(13px * var(--ui-fontScale,1))}.detail-heading{margin:26px 0 14px}.product-copy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(14px * var(--ui-fontScale,1));color:#61766b}.wallet-card>.record-card{background:#f4f7f1;border:0;margin-bottom:10px;padding:16px}.wallet-card>.record-card:last-child{margin-bottom:0}#detail-back{margin-bottom:20px}

dialog{border:0;border-radius:20px;padding:24px;width:calc(100% - 32px);max-width:440px;max-height:90dvh;overflow:auto;color:#213e37;background:#f8faf7}dialog::backdrop{background:#102d26a8}.purchase-header{display:flex;align-items:center;justify-content:space-between;gap:16px}#purchase-form label{display:block;font-size:calc(13px * var(--ui-fontScale,1));margin:18px 0}#purchase-form input:not([type=checkbox]),#purchase-form select{display:block;width:100%;margin-top:8px;padding:12px;border:1px solid #dce5dc;border-radius:9px;background:white;color:#213e37;font:inherit;font-size:calc(16px * var(--ui-fontScale,1))}#purchase-form .purchase-check{display:flex;gap:8px;align-items:flex-start;line-height:1.6}.purchase-total{display:flex;justify-content:space-between;gap:12px;padding:18px 0;border-block:1px solid #e4eae1;font-size:calc(14px * var(--ui-fontScale,1))}.purchase-total strong{overflow-wrap:anywhere;text-align:right}#purchase-message{font-size:calc(13px * var(--ui-fontScale,1));line-height:1.7;color:#81683d}#purchase-product{overflow-wrap:anywhere}
.rows>button{display:flex;width:100%;justify-content:space-between;gap:12px;padding:20px 0;border:0;border-bottom:1px solid #f0f3ef;font-size:calc(14px * var(--ui-fontScale,1));color:inherit;background:none;text-align:left}.money-form{padding:20px;background:white;border:1px solid #e5ece4;border-radius:16px}.money-form label{display:block;font-size:calc(13px * var(--ui-fontScale,1));margin:16px 0}.money-form input:not([type=checkbox]),.money-form select{width:100%;display:block;margin-top:8px;padding:12px;border:1px solid #dce5dc;border-radius:9px;font:inherit;font-size:calc(16px * var(--ui-fontScale,1));color:#213e37;background:#fafcf9}.money-form .money-check{display:flex;gap:9px;align-items:flex-start;line-height:1.7}.money-message{font-size:calc(13px * var(--ui-fontScale,1));color:#81683d;overflow-wrap:anywhere}.payment-link{display:block;background:#174c43;color:white;padding:16px;border-radius:12px;text-align:center;text-decoration:none;margin:18px 0;overflow-wrap:anywhere}

.card-actions{display:flex;gap:18px;flex-wrap:wrap;padding-top:12px;border-top:1px solid #eaf0e9}

.activity-list{margin-top:22px}.message-state{display:inline-block;font-size:calc(11px * var(--ui-fontScale,1));border-radius:20px;background:#e9f0df;color:#406b48;padding:4px 9px}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;font-size:calc(14px * var(--ui-fontScale,1));line-height:1.8}#unread-badge{color:#397858}.activity-filters .auth-submit{margin-top:12px}

:root{--brand:#174c43;--brand-end:#367759;--accent:#175e49}
.brand-mark,.auth-submit,.payment-link{background:var(--brand)}
.hero{background:linear-gradient(130deg,var(--brand),var(--brand-end))}
.text-button,.detail-link,nav a[aria-current]{color:var(--accent)}
.brand{min-width:0;gap:9px}.brand-mark{flex-shrink:0}#brand-name{overflow-wrap:anywhere;max-width:210px}#brand-logo{width:32px;height:32px;object-fit:contain;flex-shrink:0}header{gap:12px}#account-entry{flex-shrink:0}
#home-modules>[data-home-module]{margin-bottom:22px}#hero-title,#hero-description,#home-notice-title,#home-notice-text{overflow-wrap:anywhere;white-space:pre-wrap}
.banner-track{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;border-radius:18px}.banner-track::-webkit-scrollbar{display:none}.banner-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;border:0;padding:0;position:relative;background:#e9eeeb;color:#213e37;text-align:left;border-radius:18px;overflow:hidden}.banner-slide img{display:block;width:100%;aspect-ratio:2/1;object-fit:cover}.services{grid-template-columns:repeat(2,minmax(0,1fr))}.services button{overflow-wrap:anywhere}
[hidden]{display:none!important}
.home-entry-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:20px 0}.home-entry{min-width:0;display:flex;flex-direction:column;align-items:center;gap:10px;border:0;background:white;border-radius:14px;padding:15px 5px;color:var(--accent);font-size:calc(12px * var(--ui-fontScale,1));overflow-wrap:anywhere}.home-entry b{font-size:calc(25px * var(--ui-fontScale,1));font-weight:400}
.home-update{display:block;width:100%;text-align:left;color:inherit}.home-cover{display:block;width:100%;max-height:65vh;object-fit:contain;border-radius:12px}.home-copy,#home-footer{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.8}#home-footer{margin:24px 0;padding:18px 0;color:#63776b;font-size:calc(12px * var(--ui-fontScale,1))}#home-footer[data-align=center]{text-align:center}#home-footer[data-align=right]{text-align:right}#home-footer[data-align=left]{text-align:left}#home-popup{padding:16px;max-width:400px}#home-popup-close{display:block;margin:0 0 12px auto}#home-popup .auth-submit{margin-top:14px}#home-content-detail h1{overflow-wrap:anywhere}

.home-update-summary{font-size:calc(13px * var(--ui-fontScale,1));color:#61766b;line-height:1.7;margin:0;overflow-wrap:anywhere}
.news-row{display:flex;align-items:center;gap:12px;padding:12px;min-width:0}.news-thumbnail{position:relative;display:grid;place-items:center;flex:0 0 30%;aspect-ratio:1.5;background:var(--ui-soft);border-radius:calc(var(--ui-radius,16px) / 2);overflow:hidden}.news-image{position:absolute;width:100%;height:100%;object-fit:cover}.news-image-placeholder{font-size:28px;color:var(--ui-card-muted,var(--ui-muted))}.news-row-copy{flex:1;min-width:0}.news-row h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;font-size:calc(14px * var(--ui-fontScale,1));line-height:1.5;margin:0 0 6px;color:var(--ui-card-title,var(--ui-card-text,var(--ui-ink)))}.news-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--ui-card-muted,var(--ui-muted));font-size:calc(11px * var(--ui-fontScale,1));line-height:1.5}

.product-types{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.product-types button{padding:9px 13px;border:1px solid #dce5dc;border-radius:20px;background:white;color:var(--accent)}.product-types button[aria-pressed=true]{background:var(--accent);color:white}

.withdraw-eligibility{padding:16px;margin:12px 0;border:1px solid #dce5dc;border-radius:12px;background:#f5f8f4;font-size:calc(13px * var(--ui-fontScale,1));line-height:1.7;overflow-wrap:anywhere}.withdraw-eligibility p{margin:8px 0}.withdraw-eligibility .eligibility-status{font-weight:600;color:#705321}.withdraw-eligibility button{max-width:100%;white-space:normal}.captcha-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:48px}.captcha-controls img{max-width:160px;height:auto}.captcha-controls button{min-height:44px}.money-form button:disabled{opacity:.55;cursor:wait}

.home-text-carousel{display:flex;align-items:stretch;width:100%;min-height:56px;padding:0;margin:14px 0 20px;overflow:hidden;background:linear-gradient(180deg,#fff,#f5f7fb);border:1px solid #dce6f4;border-radius:14px;box-shadow:0 4px 14px #285f9a0a;text-align:left}.broadcast-badge{display:flex;flex:0 0 98px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:12px 8px;background:linear-gradient(140deg,#7daeff,#286bc8);color:white}.broadcast-badge strong{font-size:calc(15px * var(--ui-fontScale,1));letter-spacing:1px}.broadcast-badge small{font-size:calc(10px * var(--ui-fontScale,1));color:#eef5ff}.home-message{align-self:center;min-width:0;flex:1;margin:0;padding:16px 12px;font-size:calc(14px * var(--ui-fontScale,1));line-height:1.7;color:#213e37;white-space:normal;overflow-wrap:anywhere}@media(prefers-reduced-motion:no-preference){.home-message{animation:broadcast-appear .3s ease-out}}@keyframes broadcast-appear{from{opacity:.4;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}
.broadcast-badge.badge-image{padding:0;background:white}.broadcast-badge img{display:block;width:98px;height:56px;object-fit:contain}

:root{--ui-background:#f8faf7;--ui-card:#ffffff;--ui-ink:#213e37;--ui-muted:#82928a;--ui-button-text:#ffffff;--ui-border:#e5ece4;--ui-radius:16px;--ui-gap:22px;--ui-padding:24px;--ui-headingSize:29px;--ui-entryColumns:4;--ui-bannerRatio:2;--ui-fontScale:1;color:var(--ui-ink)}
.shell,dialog{background:var(--ui-background);color:var(--ui-ink)}
header{padding-left:var(--ui-padding);padding-right:var(--ui-padding)}
main{padding-left:var(--ui-padding);padding-right:var(--ui-padding)}
h1{font-size:calc(var(--ui-headingSize) * var(--ui-fontScale))}
.eyebrow,.scope-note,.record-row span,.home-update-summary,.profile-card p{color:var(--ui-muted)}
.record-card,.money-form,#auth-form,.rows,.empty,.home-entry,.banner-slide,.services button,.segmented .selected{background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-border);border-radius:var(--ui-radius)}
.auth-submit,.payment-link{color:var(--ui-button-text);border-radius:var(--ui-radius)}
nav{background:var(--ui-card);border-color:var(--ui-border)}
.home-text-carousel{background:var(--ui-card);border-color:var(--ui-border);border-radius:var(--ui-radius)}
.home-message{color:var(--ui-ink)}
#home-modules>[data-home-module]{margin-bottom:var(--ui-gap)}
.home-entry-grid{grid-template-columns:repeat(var(--ui-entryColumns),minmax(0,1fr))}
.banner-slide img{aspect-ratio:var(--ui-bannerRatio)}
#auth-form input,.money-form input:not([type=checkbox]),.money-form select,#purchase-form input:not([type=checkbox]),#purchase-form select{color:var(--ui-ink);border-color:var(--ui-border);background:var(--ui-card);border-radius:var(--ui-radius)}
.ui-page-image{display:block;width:100%;max-height:240px;object-fit:contain;border-radius:var(--ui-radius);margin-bottom:var(--ui-gap)}

.identity-images{display:grid;grid-template-columns:1fr;gap:var(--ui-gap,16px);margin:16px 0}.identity-document{padding:16px;background:var(--ui-card,#fff);border-radius:var(--ui-radius,16px);border:1px solid var(--ui-border,#e5ece4)}.identity-document img{width:100%;height:180px;object-fit:contain}.identity-document input{max-width:100%;margin-top:12px}.identity-document h3{font-size:1rem;margin:0 0 12px}
.product-cover{display:block;width:100%;aspect-ratio:2;object-fit:cover;border-radius:var(--ui-radius,16px);margin-bottom:16px}

.product-copy{white-space:normal;color:var(--ui-ink,#213e37)}
.product-copy p,.product-copy ul,.product-copy ol,.product-copy blockquote{margin:12px 0}
.product-copy table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse}
.product-copy td,.product-copy th{padding:8px;border:1px solid var(--ui-border,#e5ece4)}
.product-detail-image{display:block;max-width:100%;height:auto;margin:12px auto;border-radius:var(--ui-radius,16px)}

.wallet-action{display:inline-flex;align-items:center;justify-content:center;min-width:64px;margin:12px 8px 0 0;padding:10px 16px;border:1px solid currentColor;border-radius:10px;text-decoration:none}

.home-announcement{display:flex;align-items:center;gap:9px;padding:9px 12px;min-height:38px;box-sizing:border-box;overflow:hidden;line-height:1.45}.announcement-message{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.announcement-speaker{width:19px;height:19px;flex:none;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9h4l5-5v16l-5-5H3zM16 8q4 4 0 8M19 5q7 7 0 14'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat}

.news-pagination{display:flex;justify-content:space-between;gap:16px;margin-top:16px}.home-copy{white-space:pre-wrap;overflow-wrap:anywhere}

#home-modules>#home-image{margin:16px 0 0;padding:0;border:0;box-shadow:none;background:transparent;text-align:center}#home-image .home-standalone-image{display:block;max-width:100%;height:auto;margin:0 auto;border:0;outline:0;box-shadow:none;background:transparent;object-fit:contain}main:has([data-page="home"]:not([hidden])){padding-bottom:var(--home-bottom-inset,calc(110px + env(safe-area-inset-bottom)))}#home-modules:has(>#home-image:last-child:not([hidden])){display:flex;flex-direction:column;min-height:var(--home-content-min-height,0px)}#home-modules:has(>#home-image:last-child:not([hidden]))>#home-image{margin-top:auto;padding-top:16px;flex-shrink:0}

/* Complete theme palettes. Custom presentation styles have inline priority. */
:root[data-theme=green]{--ui-background:#F1F7F3;--ui-background-end:#E2EFE7;--ui-card:#FFFFFF;--ui-card-end:#F7FCF9;--ui-ink:#203D34;--ui-muted:#52695E;--accent:#174C43;--brand-end:#367759;--ui-border:#D3E5DA;--ui-soft:#E5F1E9;--ui-button-text:#FFFFFF;--ui-shadow:#174C4312;--brand:#174C43;--theme-radius:16px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=blue]{--ui-background:#EEF5FD;--ui-background-end:#DEECF9;--ui-card:#FFFFFF;--ui-card-end:#F5FAFF;--ui-ink:#203B58;--ui-muted:#50677E;--accent:#204E7C;--brand-end:#3C7290;--ui-border:#D3E2F2;--ui-soft:#E3EFFB;--ui-button-text:#FFFFFF;--ui-shadow:#204E7C12;--brand:#204E7C;--theme-radius:18px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=purple]{--ui-background:#F6F1FA;--ui-background-end:#EBE2F4;--ui-card:#FFFFFF;--ui-card-end:#FCF8FF;--ui-ink:#463351;--ui-muted:#735F81;--accent:#604478;--brand-end:#856289;--ui-border:#E6D7ED;--ui-soft:#EFE5F6;--ui-button-text:#FFFFFF;--ui-shadow:#60447812;--brand:#604478;--theme-radius:22px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=gold]{--ui-background:#FAF6ED;--ui-background-end:#EFE6D4;--ui-card:#FFFFFF;--ui-card-end:#FFFCF5;--ui-ink:#453D2B;--ui-muted:#70614A;--accent:#705321;--brand-end:#866832;--ui-border:#E8DDC7;--ui-soft:#F2EAD7;--ui-button-text:#FFFFFF;--ui-shadow:#70532112;--brand:#705321;--theme-radius:18px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=red]{--ui-background:#FFF4F0;--ui-background-end:#F8E3DC;--ui-card:#FFFFFF;--ui-card-end:#FFF9F6;--ui-ink:#563630;--ui-muted:#805D56;--accent:#A74035;--brand-end:#B65440;--ui-border:#EFD8D1;--ui-soft:#FBE8E1;--ui-button-text:#FFFFFF;--ui-shadow:#A7403512;--brand:#A74035;--theme-radius:20px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=teal]{--ui-background:#EFF9F8;--ui-background-end:#DCEFED;--ui-card:#FFFFFF;--ui-card-end:#F4FCFB;--ui-ink:#234543;--ui-muted:#486A65;--accent:#146660;--brand-end:#287C76;--ui-border:#CEE5E2;--ui-soft:#E0F2EF;--ui-button-text:#FFFFFF;--ui-shadow:#14666012;--brand:#146660;--theme-radius:14px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=night]{--ui-background:#121C2D;--ui-background-end:#1E2E46;--ui-card:#24344D;--ui-card-end:#1D2B42;--ui-ink:#F1F5FF;--ui-muted:#B2C2D9;--accent:#9CBFFD;--brand-end:#728ED2;--ui-border:#435778;--ui-soft:#2B405F;--ui-button-text:#12223B;--ui-shadow:#00000040;--brand:#9CBFFD;--theme-radius:18px;--theme-pattern:linear-gradient(transparent,transparent);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:inherit;color-scheme:dark;}
:root[data-theme=palace]{--ui-background:#17120B;--ui-background-end:#2A2012;--ui-card:#312519;--ui-card-end:#2A1E13;--ui-ink:#FFF3DC;--ui-muted:#D9C7A2;--accent:#E7C878;--brand-end:#CDA951;--ui-border:#78603B;--ui-soft:#3C2E1C;--ui-button-text:#2B1A07;--ui-shadow:#00000040;--brand:#E7C878;--theme-radius:14px;--theme-pattern:radial-gradient(ellipse at 100% 0%,#E7C87818,transparent 60%),repeating-linear-gradient(125deg,transparent 0 72px,#E7C87806 73px 74px,transparent 75px 148px);--theme-card-pattern:radial-gradient(ellipse at 100% 0%,#E7C87812,transparent 70%);--theme-heading-font:Georgia,serif;color-scheme:dark;}
:root[data-theme=festive]{--ui-background:#FFF4DF;--ui-background-end:#F6E2C3;--ui-card:#FFFDFC;--ui-card-end:#FFF3E0;--ui-ink:#5A2520;--ui-muted:#815146;--accent:#A51E2C;--brand-end:#B43A29;--ui-border:#EACB96;--ui-soft:#F8E3CD;--ui-button-text:#FFFFFF;--ui-shadow:#9B202018;--brand:#A51E2C;--theme-radius:20px;--theme-pattern:radial-gradient(circle at 100% 0%,transparent 100px,#B9863514 101px 102px,transparent 103px 130px,#B9863510 131px 132px,transparent 133px),radial-gradient(ellipse at 0% 0%,#B43A2912,transparent 60%);--theme-card-pattern:radial-gradient(circle at 100% 0%,#B9863510,transparent 65%);--theme-heading-font:inherit;color-scheme:light;}
:root[data-theme=classic]{--ui-background:#F7F4EF;--ui-background-end:#EAE5DC;--ui-card:#FFFEFA;--ui-card-end:#F9F5ED;--ui-ink:#303631;--ui-muted:#63675F;--accent:#414B41;--brand-end:#576354;--ui-border:#CEC9BB;--ui-soft:#EAE9DF;--ui-button-text:#FFFFFF;--ui-shadow:#30363112;--brand:#414B41;--theme-radius:8px;--theme-pattern:repeating-linear-gradient(0deg,transparent 0 5px,#414B4103 6px 7px);--theme-card-pattern:linear-gradient(transparent,transparent);--theme-heading-font:Georgia,serif;color-scheme:light;}
:root[data-theme=royal]{--ui-background:#21152F;--ui-background-end:#30203F;--ui-card:#3D2B50;--ui-card-end:#33233F;--ui-ink:#FBF1FF;--ui-muted:#D2C1E1;--accent:#E1C789;--brand-end:#C4A264;--ui-border:#78608D;--ui-soft:#4A345F;--ui-button-text:#2F1B3F;--ui-shadow:#00000040;--brand:#E1C789;--theme-radius:18px;--theme-pattern:repeating-linear-gradient(45deg,transparent 0 72px,#E1C78908 73px 74px,transparent 75px 148px),repeating-linear-gradient(-45deg,transparent 0 72px,#E1C78908 73px 74px,transparent 75px 148px);--theme-card-pattern:radial-gradient(ellipse at 100% 0%,#E1C78914,transparent 70%);--theme-heading-font:Georgia,serif;color-scheme:dark;}

:root{background:var(--ui-background,#f8faf7)}
.shell,dialog{background-color:var(--ui-background);background-image:var(--theme-pattern),linear-gradient(155deg,var(--ui-background),var(--ui-background-end,var(--ui-background)));background-attachment:fixed;color:var(--ui-ink)}
.brand-mark,.auth-submit,.payment-link{background:linear-gradient(135deg,var(--brand),var(--brand-end));color:var(--ui-button-text)}
.record-card,.money-form,#auth-form,.rows,.empty,.home-entry,.banner-slide,.services button,.segmented .selected,.home-text-carousel,.home-update-card{background:var(--theme-card-pattern),linear-gradient(145deg,var(--ui-card),var(--ui-card-end,var(--ui-card)));color:var(--ui-ink);border-color:var(--ui-border);border-radius:var(--ui-radius);box-shadow:0 6px 20px var(--ui-shadow)}
.hero,.balance{background:linear-gradient(125deg,var(--brand),var(--brand-end));color:var(--ui-button-text);border-radius:var(--ui-radius);box-shadow:0 8px 24px var(--ui-shadow)}
.hero p,.pill,.balance p,.balance span{color:var(--ui-button-text);opacity:.85}
.light,.notice,.segmented,.avatar{background:var(--ui-soft);color:var(--ui-ink);border-radius:var(--ui-radius)}
.notice p,.empty p,.rows span,.section-title>span,.version,.config-status,.refresh,.segmented button{color:var(--ui-muted)}
.light,.text-button,.services b,.home-entry,.segmented .selected{color:var(--accent)}
#auth-form input,.money-form input,.money-form select,.money-form textarea,input,select,textarea{background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-border)}
input::placeholder,textarea::placeholder{color:var(--ui-muted);opacity:1}
.rows>div,.rows>button,.record-row,.product-types button{border-color:var(--ui-border)}
.rows>button,.product-types button{color:var(--ui-ink);background:transparent}
.product-types button[aria-pressed=true]{background:var(--ui-soft);border-color:var(--accent);color:var(--accent)}
nav{background:var(--ui-card);color:var(--ui-ink);box-shadow:0 -4px 20px var(--ui-shadow);border-color:var(--ui-border)}
nav a{color:var(--ui-muted);border-radius:10px;padding:5px 0}
nav a[aria-current]{background:var(--ui-soft);color:var(--accent)}
:focus-visible{outline-color:var(--accent)}
#purchase-form input:not([type=checkbox]),#purchase-form select,.money-form input:not([type=checkbox]),.money-form select,#auth-form input{background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-border)}
.wallet-card>.record-card{background:var(--ui-soft)}
.detail-link{color:var(--accent);border-color:var(--ui-border)}
.product-copy,.empty-icon,#home-footer{color:var(--ui-muted)}
.message-state{background:var(--ui-soft);color:var(--accent)}
#unread-badge{color:var(--accent)}
.broadcast-badge{background:linear-gradient(135deg,var(--brand),var(--brand-end));color:var(--ui-button-text)}
.broadcast-badge small{color:var(--ui-button-text);opacity:.85}
.broadcast-badge.badge-image{background:var(--ui-card)}
.record-card>.pill{color:var(--accent);opacity:1}
.hero p,.pill,.balance p,.balance span,.broadcast-badge small{opacity:1}
/* Shared components on account, money, detail and confirmation pages. */
:root{--ui-danger:#A33328;--ui-warning:#73521D;--ui-overlay:#0E1B28A8}
:root[data-theme=night],:root[data-theme=palace],:root[data-theme=royal]{--ui-danger:#FFB3A5;--ui-warning:#FFE0A6;--ui-overlay:#060D19B8}
.withdraw-eligibility{background:var(--ui-soft);color:var(--ui-ink);border-color:var(--ui-border);border-radius:var(--ui-radius)}
.withdraw-eligibility .eligibility-status{color:var(--accent)}
#auth-message{color:var(--ui-danger)}
#purchase-message,.money-message{color:var(--ui-warning)}
#auth-form input,#purchase-form input:not([type=checkbox]),#purchase-form select,.money-form input:not([type=checkbox]),.money-form select,.money-form textarea{border-radius:var(--ui-radius);background:var(--ui-card);color:var(--ui-ink);border-color:var(--ui-border)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}
button:disabled,input:disabled,select:disabled{color:var(--ui-muted)}
nav a,dialog{border-radius:var(--ui-radius)}
dialog::backdrop{background:var(--ui-overlay)}

/* Original decorative collections; shared by every page and detail form. */
[data-page] h1,.section-title h2,.record-card h2,.record-card h3,.hero h2,.auth-heading h1{font-family:var(--theme-heading-font);letter-spacing:.025em}
:root[data-theme=palace] .record-card,:root[data-theme=palace] .home-entry,:root[data-theme=palace] #auth-form,:root[data-theme=palace] .money-form,:root[data-theme=royal] .record-card,:root[data-theme=royal] .home-entry,:root[data-theme=royal] #auth-form,:root[data-theme=royal] .money-form{border:1px solid var(--ui-border);box-shadow:inset 0 0 0 4px var(--ui-card),inset 0 0 0 5px var(--ui-border),0 8px 24px var(--ui-shadow)}
:root[data-theme=festive] nav{border-top:2px solid var(--ui-border)}
:root[data-theme=classic] .record-card,:root[data-theme=classic] .money-form,:root[data-theme=classic] #auth-form{border:1px solid var(--ui-border);box-shadow:0 2px 8px var(--ui-shadow)}

/* Compact member dashboard; every color and corner inherits the selected theme. */
#profile-modules{--wallet-columns:3;--service-columns:2;display:flex;flex-direction:column;gap:14px}[data-page=profile] .section-title{margin:0 0 8px}[data-page=profile] .section-title h2{font-size:calc(16px * var(--ui-fontScale))}.profile-identity{display:flex;align-items:center;gap:12px;padding:12px 0;position:relative;min-height:74px;isolation:isolate;overflow:hidden;border-radius:var(--ui-radius)}.profile-cover{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.18;z-index:-1}.profile-avatar{position:relative;flex:0 0 56px;height:56px;font-size:28px;border:2px solid var(--accent);box-shadow:0 0 0 4px var(--ui-soft);border-radius:50%;display:grid;place-items:center;overflow:hidden}.profile-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.profile-identity-copy{flex:1;min-width:0}.profile-identity h2{font-size:calc(18px * var(--ui-fontScale));margin:5px 0;overflow-wrap:anywhere}.profile-identity p{font-size:11px;color:var(--ui-muted);margin:0}.profile-chip,.profile-sign{background:linear-gradient(135deg,var(--brand),var(--brand-end));color:var(--ui-button-text);border-radius:var(--ui-radius);font-size:11px;padding:5px 8px;border:0}.profile-sign{align-self:flex-start;white-space:nowrap}.profile-membership,.profile-invite,.profile-money-actions{background:var(--theme-card-pattern),linear-gradient(135deg,var(--ui-card),var(--ui-card-end));border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:12px;color:var(--ui-ink)}.profile-membership p{font-size:12px;margin:0 0 9px}.profile-membership div{display:flex;gap:14px}.profile-membership button{background:transparent;border:0;color:var(--accent);font-size:12px;padding:0}.profile-wallets,.profile-services{display:grid;grid-template-columns:repeat(var(--wallet-columns),minmax(0,1fr));gap:7px}.profile-wallet{min-width:0;text-align:center;background:var(--theme-card-pattern),linear-gradient(135deg,var(--ui-card),var(--ui-card-end));border:1px solid var(--ui-border);color:var(--ui-ink);padding:10px 5px;border-radius:var(--ui-radius);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px}.profile-wallet .wallet-title,.profile-wallet>span{font-size:11px;overflow-wrap:anywhere}.wallet-amount{font-size:clamp(10px,2.8vw,14px);font-variant-numeric:tabular-nums;overflow-wrap:anywhere;max-width:100%}.wallet-amount small{display:block;font-size:9px;color:var(--ui-muted);font-weight:400}.profile-icon{width:21px;height:21px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round;color:var(--accent);flex-shrink:0}.profile-money-actions{display:flex;margin-top:7px;padding:8px 0}.profile-money-actions button{flex:1;min-width:0;border:0;border-right:1px solid var(--ui-border);background:transparent;font-size:12px;color:var(--accent);padding:4px}.profile-money-actions button:last-child{border-right:0}.profile-services{grid-template-columns:repeat(var(--service-columns),minmax(0,1fr));gap:8px}.profile-services button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-width:0;padding:10px 3px;font-size:11px;line-height:1.4;color:var(--ui-ink);background:transparent;border:0;overflow-wrap:anywhere}.profile-services #unread-badge{font-size:10px}.profile-invite{display:grid;grid-template-columns:minmax(0,1fr) 80px;gap:8px;align-items:center}.invite-copy h3{margin:0;font-size:13px}.invite-code{font-size:21px;margin:8px 0;color:var(--accent);font-variant-numeric:tabular-nums}.invite-qr{grid-column:2;grid-row:1;width:80px;height:80px;padding:4px;background:white;object-fit:contain}.invite-actions{grid-column:1/-1;grid-row:2;display:flex;gap:6px;border-top:1px solid var(--ui-border);padding-top:7px}.invite-actions button{flex:1;font-size:10px;padding:4px}.profile-reward-group{margin:0 0 14px}.profile-reward-group h2{font-size:16px;margin:0 0 8px}.profile-reward-grid{display:grid;grid-template-columns:repeat(var(--reward-columns),minmax(0,1fr));gap:5px}.profile-reward{background:linear-gradient(135deg,var(--ui-card),var(--ui-card-end));border:1px solid var(--ui-border);border-radius:var(--ui-radius);padding:8px 3px;color:var(--ui-ink);min-width:0}.profile-reward span{display:block;font-size:10px;overflow-wrap:anywhere}.profile-reward strong{font-size:14px;font-variant-numeric:tabular-nums}.profile-rates{font-size:10px;line-height:1.6;color:var(--ui-muted);margin:6px 0}.profile-team-link{display:block;margin-left:auto;font-size:11px}.profile-dialog{width:min(430px,calc(100vw - 32px));max-height:80vh;overflow:auto;box-sizing:border-box;border:1px solid var(--ui-border);padding:18px;color:var(--ui-ink)}.profile-dialog h2{font-size:17px}.profile-dialog>.light{margin:5px}.profile-member{padding:12px 0;border-bottom:1px solid var(--ui-border);display:flex;justify-content:space-between;gap:12px;font-size:13px}.profile-member span{color:var(--ui-muted)}

.profile-money-actions{margin-top:0;margin-bottom:7px}.profile-wallet-refresh{display:block;margin-left:auto;font-size:11px;margin-top:5px}.profile-team-title{font-size:16px;margin:0 0 10px}.profile-team-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px 0;border-top:1px solid var(--ui-border)}.profile-team-summary>div{display:flex;flex-direction:column;gap:6px;text-align:center;min-width:0}.profile-team-summary span{font-size:10px;color:var(--ui-muted)}.profile-team-summary strong{font-size:12px;overflow-wrap:anywhere}.profile-wallets{margin-top:7px}.profile-membership #profile-level-link{text-align:left;color:var(--ui-ink)}

.profile-money-actions{margin-top:7px;margin-bottom:0}.profile-extra{display:flex;justify-content:space-around;margin-top:6px}.profile-extra button{font-size:11px;color:var(--ui-muted);background:transparent;border:0;padding:5px}.profile-wallet-refresh{font-size:10px;margin-top:3px}.profile-services #unread-badge:empty{display:none}

/* Local motion; no polling or downloaded executable UI. */
:root{--motion-duration:180ms;--motion-offset:6px;--motion-press:.98}:root[data-motion=rich]{--motion-duration:280ms;--motion-offset:12px;--motion-press:.96}:root:not([data-motion=off]) .ui-enter{animation:ui-enter var(--motion-duration) ease-out both}:root:not([data-motion=off]) button,:root:not([data-motion=off]) [data-tab]{transition:transform 100ms ease-out}:root:not([data-motion=off]) button:active,:root:not([data-motion=off]) [data-tab]:active{transform:scale(var(--motion-press))}@keyframes ui-enter{from{opacity:.65;transform:translateY(var(--motion-offset))}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.ui-enter{animation:none!important}button,[data-tab]{transition:none!important;transform:none!important}}.profile-wallets>.empty{grid-column:1/-1}

.profile-wallet{border-radius:min(var(--ui-radius),12px)}.profile-wallet .wallet-amount{font-size:clamp(8px,2.35vw,11px);font-weight:600;letter-spacing:-.2px}.profile-reward{border-radius:min(var(--ui-radius),9px)}

:root[data-motion=off] .home-message{animation:none}

/* Shared interaction polish; all values continue to inherit the backend theme. */
.record-card h3{line-height:1.5;margin-bottom:14px}
.record-row{align-items:flex-start;gap:14px;line-height:1.6}
.record-row>span{flex:0 0 38%;min-width:0}
.record-row>strong{min-width:0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
.auth-submit,.payment-link{min-height:48px;font-weight:600;letter-spacing:.025em;border-radius:calc(var(--ui-radius) * .625)}
#auth-form input,.money-form input:not([type=checkbox]),.money-form select,#purchase-form input:not([type=checkbox]),#purchase-form select{min-height:48px;border-radius:calc(var(--ui-radius) * .56)}
#auth-form input:focus,.money-form input:not([type=checkbox]):focus,.money-form select:focus,#purchase-form input:not([type=checkbox]):focus,#purchase-form select:focus{outline:2px solid var(--accent);outline-offset:1px;box-shadow:0 0 0 5px var(--ui-soft)}
.money-form label,#auth-form label,#purchase-form label{line-height:1.65}
.money-check input,.purchase-check input{flex:none;margin-top:4px;width:18px;height:18px}
.money-message:not(:empty),#purchase-message:not(:empty),#auth-message:not(:empty){padding:12px 14px;background:var(--ui-soft);border-left:3px solid currentColor;border-radius:calc(var(--ui-radius) * .5);line-height:1.65}
.money-message:empty,#purchase-message:empty,#auth-message:empty{display:none}
.profile-wallet{min-height:96px;box-shadow:0 3px 10px var(--ui-shadow)}
.profile-wallet .profile-icon{width:20px;height:20px;margin-bottom:3px}
.profile-wallet .wallet-title{line-height:1.45;min-height:1.45em}
.profile-money-actions{border-radius:calc(var(--ui-radius) * .5)}
.profile-money-actions button,.profile-membership button,.invite-actions button,.profile-extra button{min-height:36px}
.profile-services button{min-height:76px;border-radius:calc(var(--ui-radius) * .625)}
.profile-identity p,.invite-code,.profile-reward strong{font-variant-numeric:tabular-nums}
.profile-chip,.profile-sign{border-radius:calc(var(--ui-radius) * .5)}
.profile-sign{min-height:34px;padding:7px 12px}
.profile-membership,.profile-invite{box-shadow:0 4px 14px var(--ui-shadow)}
.profile-dialog .record-card{box-shadow:none}
.profile-dialog .section-title{margin-top:0}
.profile-dialog .section-title button{min-height:36px;min-width:44px}
@media(hover:hover){.profile-wallet:hover,.profile-services button:hover{border-color:var(--accent);background:var(--ui-soft)}}

/* Compact asset grid: reference layout, labels above balances, actions below. */
.profile-wallets{gap:4px;margin-top:0}
.profile-wallet{min-height:56px;padding:7px 3px;gap:4px;border-radius:min(var(--ui-radius),5px);box-shadow:none}
.profile-wallet .wallet-heading{display:flex;align-items:center;justify-content:center;gap:3px;max-width:100%;font-size:9px;line-height:1.35}
.profile-wallet .wallet-title{font-size:9px;line-height:1.35;min-width:0;min-height:0}
.profile-wallet .wallet-heading .profile-icon{width:11px;height:11px;margin:0}
.profile-wallet .wallet-amount{font-size:clamp(10px,2.8vw,13px);font-weight:500;letter-spacing:0;line-height:1.25}
.profile-ledger{gap:3px}.profile-ledger>span{font-size:9px}.profile-ledger>.profile-icon{width:16px;height:16px;margin:0}
.profile-money-actions{margin-top:4px;border-radius:min(var(--ui-radius),5px);padding:0}
.profile-money-actions button{font-size:10px;min-height:32px;padding:5px 2px}

.profile-money-actions button{display:flex;align-items:center;justify-content:center;gap:4px}.profile-money-actions .profile-icon{width:11px;height:11px}

/* Independent visual roles: changing a wallet or card never changes identity/navigation. */
.shell{background-image:var(--ui-page-image),var(--ui-page-pattern),linear-gradient(155deg,var(--ui-background),var(--ui-background-end));background-size:cover,auto,auto;background-position:center;background-attachment:fixed,scroll,scroll}
h1,h2,h3{color:var(--ui-title-text,var(--ui-ink))}#brand-name,.profile-identity h2{color:var(--ui-identity-text,var(--ui-ink))}.profile-identity p{color:var(--ui-identity-muted,var(--ui-muted))}
.record-card,.money-form,#auth-form,.rows,.empty,dialog{color:var(--ui-card-text,var(--ui-ink))}.record-card h2,.record-card h3,.money-form h2,.money-form h3,.empty h3,dialog h2{color:var(--ui-card-title,var(--ui-card-text,var(--ui-ink)))}
.record-card .record-row strong,.rows>button{color:var(--ui-card-text,var(--ui-ink))}.record-card .record-row span,.record-card .scope-note,.record-card .product-copy,.empty p,#auth-form .scope-note{color:var(--ui-card-muted,var(--ui-muted))}.record-card .text-button,.record-card .detail-link,dialog .text-button{color:var(--ui-card-link,var(--accent))}
.auth-submit,.payment-link{border-radius:var(--ui-buttonRadius);background:linear-gradient(135deg,var(--ui-button-background,var(--brand)),var(--ui-accent-end,var(--brand-end)));color:var(--ui-button-text)}
[data-button-style=solid] .auth-submit,[data-button-style=solid] .payment-link{background:var(--ui-button-background,var(--brand))}[data-button-style=outline] .auth-submit,[data-button-style=outline] .payment-link{background:transparent;border:1px solid var(--ui-button-background,var(--accent));color:var(--ui-button-text,var(--ui-button-background,var(--accent)))}
#auth-form input,.money-form input:not([type=checkbox]),.money-form select,.money-form textarea,#purchase-form input:not([type=checkbox]),#purchase-form select,input,select,textarea{color:var(--ui-input-text,var(--ui-card-text,var(--ui-ink)))}input::placeholder,textarea::placeholder{color:var(--ui-placeholder,var(--ui-card-muted,var(--ui-muted)))}
#auth-message{color:var(--ui-danger)}.money-message,#purchase-message{color:var(--ui-warning)}
.home-entry{background:linear-gradient(135deg,var(--ui-entry-background,var(--ui-card)),var(--ui-entry-end,var(--ui-entry-background,var(--ui-card-end))));color:var(--ui-entry-text,var(--ui-card-text,var(--accent)))}
.home-entry b{font-size:var(--ui-iconSize);color:var(--ui-icon-color,var(--accent));line-height:1;display:grid;place-items:center;min-width:var(--ui-iconSize);min-height:var(--ui-iconSize)}.profile-icon{color:var(--ui-icon-color,var(--accent));stroke-width:var(--ui-iconStroke)}
[data-icon-style=soft] .home-entry b,[data-icon-style=tile] .home-entry b{background:var(--ui-icon-background,var(--ui-soft));padding:8px;border-radius:50%}[data-icon-style=tile] .home-entry b{border-radius:8px}
.profile-wallet{background:linear-gradient(135deg,var(--ui-wallet-background,var(--ui-card)),var(--ui-wallet-end,var(--ui-wallet-background,var(--ui-card-end))));color:var(--ui-wallet-text,var(--ui-card-text,var(--ui-ink)))}.profile-wallet .wallet-amount{color:var(--ui-wallet-amount,var(--ui-wallet-text,var(--ui-card-text,var(--ui-ink))))}
.profile-reward{background:linear-gradient(135deg,var(--ui-reward-background,var(--ui-card)),var(--ui-reward-end,var(--ui-reward-background,var(--ui-card-end))));color:var(--ui-reward-text,var(--ui-card-text,var(--ui-ink)))}.profile-reward-group h2,.profile-team-title{color:var(--ui-reward-title,var(--ui-title-text,var(--ui-ink)))}
.profile-membership{background:var(--ui-member-background,var(--ui-card));color:var(--ui-member-text,var(--ui-card-text,var(--ui-ink)))}.profile-membership button,.profile-membership #profile-level-link{color:var(--ui-member-text,var(--accent))}
.profile-invite{background:var(--ui-invite-background,var(--ui-card));color:var(--ui-invite-text,var(--ui-card-text,var(--ui-ink)))}.profile-invite h3,.profile-invite .invite-code,.profile-invite button{color:var(--ui-invite-text,var(--accent))}.profile-services button{color:var(--ui-service-text,var(--ui-ink))}.profile-sign{background:var(--ui-signin-background,var(--ui-button-background,var(--brand)));color:var(--ui-signin-text,var(--ui-button-text))}
.auth-tabs button{background:var(--ui-auth-tab-background,transparent);color:var(--ui-auth-tab-text,var(--accent))}.auth-tabs button.selected{background:var(--ui-auth-tab-selected-background,var(--ui-auth-tab-background,var(--ui-card)));color:var(--ui-auth-tab-selected-text,var(--ui-auth-tab-text,var(--accent)))}
nav{background:var(--ui-nav-background,var(--ui-card));border-radius:0}nav a{font-size:calc(var(--ui-navFontSize) * var(--ui-fontScale));min-height:var(--ui-navHeight);justify-content:center;color:var(--ui-nav-inactive,var(--ui-muted))}nav svg,nav img{width:var(--ui-navIconSize);height:var(--ui-navIconSize);object-fit:contain;stroke-width:var(--ui-iconStroke)}nav a[aria-current]{color:var(--ui-nav-active,var(--accent));background:var(--ui-nav-selected,var(--ui-soft))}[data-nav-style=flat] nav a[aria-current]{background:transparent}[data-nav-style=floating] nav{bottom:8px;max-width:456px;width:calc(100% - 24px);margin-left:12px;border-radius:var(--ui-radius);box-shadow:0 4px 20px #00000026}
.record-card,.money-form,#auth-form,.home-entry,.profile-wallet,.profile-reward,.profile-membership,.profile-invite{border-width:var(--ui-borderWidth)}
[data-card-style=flat] .record-card,[data-card-style=flat] .money-form,[data-card-style=flat] #auth-form,[data-card-style=flat] .home-entry,[data-card-style=flat] .profile-wallet,[data-card-style=flat] .profile-reward{box-shadow:none}
[data-card-style=soft] .record-card,[data-card-style=soft] .money-form,[data-card-style=soft] #auth-form,[data-card-style=soft] .home-entry,[data-card-style=soft] .profile-wallet,[data-card-style=soft] .profile-reward{box-shadow:0 var(--ui-shadow-size) calc(var(--ui-shadow-size) * 3) #00000022}
[data-card-style=outlined] .record-card,[data-card-style=outlined] .home-entry,[data-card-style=outlined] #auth-form{box-shadow:none;border:var(--ui-borderWidth) solid var(--ui-border)}
[data-card-style=decorated] .record-card,[data-card-style=decorated] .money-form,[data-card-style=decorated] #auth-form,[data-card-style=decorated] .home-entry,[data-card-style=decorated] .profile-wallet,[data-card-style=decorated] .profile-reward{box-shadow:inset 0 0 0 4px var(--ui-card),inset 0 0 0 5px var(--ui-border),0 var(--ui-shadow-size) calc(var(--ui-shadow-size) * 3) #00000022}
:root:not([data-motion=off]) .ui-enter{animation-duration:var(--ui-motionDuration)}

nav a{border-radius:var(--ui-navRadius)}[data-nav-style=floating] nav{border-radius:var(--ui-navRadius)}nav svg{stroke-width:var(--ui-navIconStroke)}

.news-article{padding:18px}.news-detail-header{display:flex;align-items:center;gap:14px;padding-bottom:16px;border-bottom:1px solid var(--ui-border)}.news-detail-header .news-thumbnail{flex:0 0 96px;height:64px;aspect-ratio:auto}.news-detail-header h1{margin:0 0 8px;font-size:calc(20px * var(--ui-fontScale,1));line-height:1.4;color:var(--ui-card-title,var(--ui-card-text,var(--ui-ink)))}.news-article .news-body{margin:18px 0 0;font-size:calc(14px * var(--ui-fontScale,1));color:var(--ui-card-text,var(--ui-ink))}.home-entry-image{display:block;width:var(--ui-iconSize,25px);height:var(--ui-iconSize,25px);object-fit:contain}.home-entry-icon [hidden]{display:none!important}

header{padding-top:var(--ui-topSpacing,6px);padding-bottom:8px}main{padding-top:6px}.identity-document{position:relative;color:var(--ui-card-text,var(--ui-ink))}.identity-document h3{color:var(--ui-card-title,var(--ui-card-text,var(--ui-ink)))}.identity-document:not(.has-photo){padding-bottom:180px}.identity-picker{position:absolute;inset:48px 16px 42px;border:2px dashed var(--ui-border);border-radius:var(--ui-radius,16px);display:grid;place-items:center;cursor:pointer;color:var(--ui-card-link,var(--accent));min-height:140px}.identity-picker input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0}.identity-plus{font-size:52px;line-height:1}.has-photo .identity-plus{display:none}.identity-document .scope-note{color:var(--ui-card-muted,var(--ui-muted))}.identity-document .scope-note{position:relative;z-index:1;pointer-events:none}

.news-body-image{display:block;width:100%;height:auto;object-fit:contain;border-radius:calc(var(--ui-radius,16px) / 2);margin-top:16px}

/* Daily actions stay together near the member identity and share their configured style. */
.profile-identity{flex-wrap:wrap}.profile-daily-actions{display:flex;gap:8px;flex:0 0 100%}.profile-daily-actions .profile-sign{flex:1;min-height:42px;font-size:13px;padding:10px 8px}.profile-extra button{min-height:40px;color:var(--ui-card-link,var(--accent))}

/* Content blocks share the theme unless individually overridden. */
.ui-content-block{min-width:0;padding:var(--block-padding);margin:0 0 var(--block-gap);border:var(--block-border-width) solid var(--block-border);box-shadow:0 var(--block-shadow) calc(var(--block-shadow) * 2) #00000026;border-radius:var(--block-radius);background:linear-gradient(135deg,var(--block-bg),var(--block-end));color:var(--block-text);font-size:calc(var(--block-font) * var(--ui-fontScale,1));overflow:hidden;box-sizing:border-box}
.ui-content-block .ui-block-title{color:var(--block-title);font-size:inherit;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
.ui-content-block .ui-block-copy{color:var(--block-text);font-size:inherit;line-height:1.7;margin:0;white-space:pre-wrap;overflow-wrap:anywhere}
.ui-content-block .ui-block-image{display:block;width:100%;height:auto;object-fit:cover;border-radius:var(--block-radius)}
.ui-content-block .ui-block-image-link{display:block;width:100%;padding:0;background:transparent;border:0;border-radius:var(--block-radius)}
.ui-content-block .ui-block-action{display:block;width:100%;min-height:48px;padding:12px 8px;color:var(--block-button-text);background:var(--block-button);border:0;border-radius:var(--block-radius);font-size:inherit;line-height:1.5;white-space:normal;overflow-wrap:anywhere}
.ui-content-block .ui-block-grid{display:grid;gap:10px;align-items:stretch}.ui-content-block .ui-block-entry{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.ui-content-block .ui-block-entry img{width:40px;height:40px;object-fit:contain}
.ui-content-block.ui-block-spacer{padding:0;border:0;background:transparent}.ui-content-block .ui-block-action:disabled{opacity:.5}

.ui-component-image{display:inline-block;object-fit:contain;vertical-align:middle;flex-shrink:0;margin:0 3px}[data-ui-component] svg[hidden]{display:none!important}

.identity-picker{z-index:2}.identity-picker input{z-index:3}.identity-replace{display:none;background:var(--ui-card,#fff);color:var(--ui-card-link,var(--accent));padding:8px 14px;border-radius:8px;pointer-events:none}.has-photo .identity-replace{display:block}.has-photo .identity-picker{border-style:solid;inset:48px 16px 36px}.identity-document img{pointer-events:none}.auth-tabs button:disabled{opacity:.55}

.membership-progress-row{display:flex;align-items:center;gap:8px;width:100%;padding:6px 0;text-align:left;color:inherit;background:none;border:0}.membership-progress-row progress{flex:1;min-width:32px;max-width:60%;height:8px;border:0;border-radius:99px;overflow:hidden;accent-color:var(--ui-member-text,var(--accent))}.membership-progress-row progress::-webkit-progress-bar{background:var(--ui-border);border-radius:99px}.membership-progress-row progress::-webkit-progress-value{background:var(--ui-member-text,var(--accent));border-radius:99px}.membership-progress-row strong{max-width:45%;overflow-wrap:anywhere}.membership-caption,.membership-condition{font-size:12px;line-height:1.5;margin:4px 0}.membership-honors{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:8px 0}.membership-honors img{width:32px;height:32px;object-fit:contain}.membership-honor{font-size:24px}.membership-rule{border:1px solid var(--ui-border);border-radius:12px;padding:12px;margin:12px 0;overflow-wrap:anywhere}.membership-rule.current{border-color:var(--accent)}.membership-rule h4{margin:0 0 8px}.membership-rule p{margin:6px 0;white-space:pre-wrap}

.donation-product-card {cursor:pointer}.donation-product-card:focus-visible{outline:2px solid var(--primary);outline-offset:3px}.donation-status{font-weight:700;color:var(--primary)}.receipt-preview{display:block;max-width:100%;max-height:240px;object-fit:contain;margin:12px auto}.receipt-picker{display:block;padding:24px;border:1px dashed currentColor;border-radius:12px;text-align:center;cursor:pointer}

/* Announcements and windows have independent colors, unrelated to page/nav/cards. */
#home-notice{background:var(--ui-notice-background,var(--ui-soft));color:var(--ui-notice-text,var(--ui-ink))}
[data-home-module="notice"]{background:var(--ui-notice-background,var(--ui-soft));color:var(--ui-notice-text,var(--ui-ink))}
#home-notice-title{color:var(--ui-notice-title,var(--ui-notice-text,var(--ui-ink)))}
#home-notice-text{color:var(--ui-notice-text,var(--ui-muted))}
dialog,#home-popup{background:linear-gradient(135deg,var(--ui-dialog-background,var(--ui-card)),var(--ui-dialog-end,var(--ui-dialog-background,var(--ui-card))));color:var(--ui-dialog-text,var(--ui-card-text,var(--ui-ink)));padding:var(--ui-dialogPadding,16px);border:var(--ui-dialogBorderWidth,2px) solid var(--ui-dialog-border,var(--ui-border));border-radius:var(--ui-dialogRadius,16px);box-shadow:0 16px 48px #00000033}
dialog h1,dialog h2,dialog h3{color:var(--ui-dialog-title,var(--ui-dialog-text,var(--ui-card-title,var(--ui-ink))))}
dialog p,dialog .scope-note,dialog .record-row,dialog .record-row strong,dialog .record-row span{color:var(--ui-dialog-text,var(--ui-card-text,var(--ui-ink)))}
dialog .text-button,dialog .section-title button,#home-popup-close{color:var(--ui-dialog-button-text,var(--ui-card-link,var(--accent)))}
dialog .record-card{background:transparent;border:0;box-shadow:none}
:root[data-dialog-style=plain] dialog,:root[data-dialog-style=plain] #home-popup{border-width:0;box-shadow:none}
:root[data-dialog-style=bordered] dialog,:root[data-dialog-style=bordered] #home-popup{box-shadow:none}
:root[data-dialog-style=double] dialog,:root[data-dialog-style=double] #home-popup{border-style:double;border-width:calc(var(--ui-dialogBorderWidth,2px) * 2)}
:root[data-dialog-style=shadow] dialog,:root[data-dialog-style=shadow] #home-popup{border-width:0;box-shadow:0 16px 48px #00000055}
#home-popup .home-cover{background:transparent;border-radius:0;max-height:65dvh}
.banner-track{touch-action:pan-y;user-select:none;cursor:grab}.banner-track:active{cursor:grabbing}.banner-slide img{-webkit-user-drag:none;user-select:none}
.home-entries-section{gap:var(--section-gap,10px);box-sizing:border-box;background-clip:padding-box}
.home-entry b{font-size:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize)));min-width:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize)));min-height:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize)))}
.home-entry-image{width:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize,25px)));height:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize,25px)))}
.home-news-section .news-row h3{font-size:calc(var(--section-fontSize,14px) * var(--ui-fontScale,1));color:var(--section-titleColor,var(--ui-card-title,var(--ui-card-text,var(--ui-ink))))}
.home-news-section .news-meta{color:var(--section-metaColor,var(--ui-card-muted,var(--ui-muted)))}
.home-news-section .news-thumbnail{flex:0 0 var(--section-imageWidth,90px);aspect-ratio:var(--section-imageRatio,1.5);border-radius:var(--section-imageRadius,8px)}
.home-news-section .news-row{padding:var(--section-rowPadding,12px);margin:0 0 var(--section-gap,12px)}
.home-news-section[data-section-mode=list] .news-row,.home-news-section[data-section-mode=plain] .news-row{background:transparent;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--section-dividerColor,var(--ui-border));margin:0 0 var(--section-gap,0px)}
.home-news-section[data-section-mode=list] .news-row:last-of-type,.home-news-section[data-section-mode=plain] .news-row:last-of-type{border-bottom:0}
.home-news-section>.detail-heading{color:var(--section-titleColor,var(--ui-title-text,var(--ui-ink)))}

/* Home notice and image popup have their own appearance controls. */
#home-popup[data-window-style=plain]{border:0;box-shadow:none}#home-popup[data-window-style=bordered]{border:var(--ui-dialogBorderWidth,2px) solid var(--ui-dialog-border,var(--ui-border));box-shadow:none}#home-popup[data-window-style=double]{border:calc(var(--ui-dialogBorderWidth,2px)*2) double var(--ui-dialog-border,var(--ui-border));box-shadow:none}#home-popup[data-window-style=shadow]{border:0;box-shadow:0 16px 48px #0005}
.transfer-recipient-card{border:2px solid var(--ui-border);border-radius:var(--ui-radius);background:var(--ui-soft);padding:14px;margin:4px 0 16px}.transfer-recipient-card h3{margin:0;font-size:15px;color:var(--ui-card-title,var(--ui-ink))}
#profile-certification,#profile-bank{flex:1;min-height:36px;border:1px solid currentColor;border-radius:8px;padding:6px 10px;color:var(--ui-member-text,var(--ui-card-text,var(--ui-ink)))}#profile-certification.status-complete,#profile-bank.status-complete{border-color:transparent}
.profile-services button{flex-direction:row;text-align:left;gap:6px}.profile-services .profile-icon,.profile-services .ui-component-image{width:24px;height:24px}.profile-wallet .wallet-heading{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px}.profile-wallet .profile-icon{width:20px;height:20px;margin:0}.profile-avatar{padding:0;cursor:pointer;background:var(--ui-soft);color:var(--ui-identity-text,var(--ui-ink))}.avatar-picker{display:block;border:2px dashed var(--ui-border);border-radius:12px;padding:20px;font-size:18px}.avatar-picker input{display:block;font-size:14px;margin-top:16px}
.profile-identity{padding-top:0}.profile-membership #profile-promotion{display:block}.membership-progress-row progress{width:100%;flex:1}.membership-condition{line-height:1.6}

.transfer-recipient-lookup{display:block;width:100%;min-height:48px;margin-top:12px;padding:12px 16px;border:1px solid var(--ui-border);font-size:calc(16px * var(--ui-fontScale,1));font-weight:600;text-align:center}

#home-popup[data-image-frame=true]{border:var(--popup-frame-width,24px) solid var(--ui-dialog-border,var(--ui-border));border-radius:0;background-clip:padding-box;box-shadow:none}

/* Keep product facts together, giving the value its natural width. */
.product-fact-row{gap:8px;align-items:center}.product-fact-row>span{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.product-fact-row>strong{flex:0 0 auto;white-space:nowrap;overflow-wrap:normal}

/* Account-dependent tabs share a login card independent of list refresh controls. */
:root[data-account-landing=true] main{padding-top:6px}#account-landing{display:flex;flex-direction:column;min-height:calc(100dvh - var(--ui-navHeight,60px) - 125px)}.account-login-card{margin-top:var(--ui-loginTopGap,20px);width:100%;box-sizing:border-box}.account-login-card .auth-submit{width:100%;margin-top:8px}#account-landing-refresh{margin:20px 0 0 auto;align-self:flex-end;margin-top:auto}
.profile-money-actions{padding:6px;gap:4px}.profile-money-actions button{display:flex;align-items:center;justify-content:center;gap:6px;min-height:48px;font-size:calc(13px * var(--ui-fontScale,1));padding:10px 4px;line-height:1.4}.profile-money-actions .profile-icon{width:24px;height:24px}.profile-logout{display:block;width:100%;min-height:56px;padding:16px;margin:18px 0 0;font-size:calc(14px * var(--ui-fontScale,1));text-align:center;color:var(--ui-card-text,var(--ui-ink))}

.record-card[data-product-card]> .record-row{padding-top:var(--product-row-spacing,8px);padding-bottom:var(--product-row-spacing,8px)}
.record-card[data-product-card]>h3{margin-bottom:var(--product-title-spacing,14px)}
.record-card.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:3px}

.record-card[data-product-card]>.product-cover{height:var(--product-image-height,auto);object-fit:var(--product-image-fit,cover)}

.preview-cover{display:grid;place-items:center;background:var(--ui-soft,#e8ede8);color:var(--ui-card-muted,var(--ui-muted));font-size:12px}

.profile-logout .profile-icon{width:24px;height:24px;vertical-align:middle;margin-right:8px}

#project-audiences{flex-wrap:nowrap}#project-audiences button{flex:1;min-width:0;padding:10px 4px;font-size:clamp(11px,3.3vw,14px);min-height:44px}

/* Shared back controls and member details keep readable touch targets. */
.shell .back-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;margin:0 0 12px;border:1px solid var(--ui-border);border-radius:var(--ui-buttonRadius,var(--ui-radius));background:linear-gradient(135deg,var(--ui-card),var(--ui-card-end,var(--ui-card)));color:var(--ui-card-link,var(--accent));font-size:calc(16px * var(--ui-fontScale,1));font-weight:600;line-height:1.4}
.profile-money-actions{border-radius:var(--ui-radius);overflow:hidden}
.profile-services button{font-size:calc(14px * var(--ui-fontScale,1));min-height:52px}
.profile-member{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px 0;border-bottom:1px solid var(--ui-border);font-size:calc(16px * var(--ui-fontScale,1));line-height:1.5;color:#000}
.profile-member .member-phone,.profile-member .member-name{overflow-wrap:anywhere;color:#000}
.profile-member .member-certified{color:#15803D}.profile-member .member-uncertified{color:#B91C1C}
@media(max-width:360px){.profile-member{gap:8px;font-size:calc(15px * var(--ui-fontScale,1))}}

.profile-name-row{display:flex;align-items:center;gap:8px}.profile-name-row h2{min-width:0;flex:0 1 auto}.profile-name-row #profile-honors{display:flex;align-items:center;gap:4px;flex:none}#profile-honors img{width:28px;height:28px;object-fit:contain}#profile-honors span{font-size:22px}.withdraw-balance{font-size:calc(16px * var(--ui-fontScale));font-weight:600;color:var(--ui-card-text,var(--ui-ink));font-variant-numeric:tabular-nums}

main:has([data-page="home"]:not([hidden]))>#config-status:empty{display:none}


/* Member dashboard adjustments are scoped to the marked groups. */
[data-profile-module=assets]::before,[data-profile-module=services]::before,
[data-profile-module=rewards]::before,[data-profile-module=summary]::before{
 content:"";display:block;height:3px;border-top:1px solid #DAB452;border-bottom:1px solid #DAB452;margin:3px 0 10px;
}
.profile-team-summary{border-top:0}
.profile-reward-group[data-business-type=DONATION] .profile-reward{display:flex;align-items:center;justify-content:center;gap:2px}
.profile-reward-group[data-business-type=DONATION] .profile-reward-copy{display:flex;flex-direction:column;min-width:0;align-items:center;flex:0 1 auto}
.profile-reward-group[data-business-type=DONATION] .reward-level{white-space:nowrap}
.profile-reward-group[data-business-type=DONATION] .ui-component-image{margin:0}
.profile-reward-group[data-business-type=DONATION] .profile-rates{font-size:9px;white-space:nowrap;line-height:1.6}
.profile-wallet .wallet-heading{width:100%;height:24px;flex:none;justify-content:flex-start;gap:4px;min-width:0}
.profile-wallet .wallet-title{display:block;flex:1;white-space:nowrap;overflow-wrap:normal;min-width:0;line-height:24px;text-align:left}
.profile-wallet .wallet-heading .profile-icon,.profile-wallet .wallet-heading .ui-component-image{width:20px;height:20px;flex:0 0 20px;margin:0}
.profile-wallet .wallet-amount{display:block;min-height:18px;white-space:nowrap}
.profile-wallet{justify-content:flex-start;gap:2px}
.profile-money-actions{gap:0}
.profile-money-actions button{position:relative;gap:2px;border-right:0;white-space:nowrap}
.profile-money-actions button:not(:last-child)::after{content:"";position:absolute;right:0;top:50%;transform:translateY(-50%);height:28px;border-right:1px solid #DAB452}
.profile-money-actions .ui-component-image{margin:0}
.inline-honors{display:inline-flex;align-items:center;gap:3px;vertical-align:middle;margin:0 4px}
.inline-honors img{width:20px;height:20px;object-fit:contain}.inline-honors>span{font-size:20px}
.membership-card-art{background-image:var(--membership-card-image);background-size:cover;background-position:center;background-repeat:no-repeat;background-clip:padding-box}
.profile-membership.membership-card-art{background-image:var(--membership-card-image)}
/* Fixed announcement window: art never participates in layout. */
#home-popup{box-sizing:border-box;width:min(var(--popup-width,340px),calc(100vw - 32px));height:min(var(--popup-height,480px),calc(100dvh - 48px));max-width:none;max-height:none;overflow:hidden;padding:min(var(--ui-dialogPadding,16px),10vw,calc(var(--popup-height,480px)/6));border-image:none}
#home-popup[open]{display:flex;flex-direction:column;gap:8px;padding-top:min(var(--popup-content-top,16px),max(0px,calc(var(--popup-height,480px) - 220px)),max(0px,calc(100dvh - 268px)))}
#home-popup-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:0}
#home-popup>h2,#home-popup-body,#home-popup-footer{position:relative;z-index:1;flex:none;background:transparent}
#home-popup-title{margin:0;font-size:var(--popup-title-size,18px);line-height:1.4;color:var(--ui-dialog-title,var(--ui-dialog-text));overflow-wrap:anywhere;max-height:25%;overflow:auto}
#home-popup-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;font-size:var(--popup-font-size,14px);color:var(--ui-dialog-text);scrollbar-width:thin}
#home-popup-body p{margin:0;font-size:inherit}
#home-popup-footer{margin:0;padding:0;border:0}.home-popup-mute{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--ui-dialog-text)}.home-popup-mute input{margin:0;width:18px;height:18px;flex:none}
.home-popup-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:6px}.home-popup-actions button{flex:none;min-height:36px;padding:6px 12px;font-size:14px;color:var(--ui-dialog-button-text,#6B5638);background:var(--ui-card,#F8EED6);border:1px solid var(--ui-border,#CBA968);border-radius:8px;white-space:nowrap}
#home-popup #home-popup-close{margin:0}
#home-popup[data-full-art=true]{background:transparent!important;border:0!important;border-radius:0;box-shadow:none!important}
.membership-dialog,.membership-dialog h2,.membership-dialog h3,.membership-dialog h4,.membership-dialog p,.membership-dialog span,.membership-dialog button{color:#493827}
#project-audiences{gap:6px}
#project-audiences button{border:1px solid var(--ui-border);border-radius:10px;background:linear-gradient(135deg,var(--ui-card),var(--ui-card-end));color:var(--ui-card-text,var(--ui-ink));white-space:nowrap}
#project-audiences button[aria-pressed=true]{background:var(--accent);color:var(--ui-button-text)}

#home-popup-body:focus{outline:none}

/* Reserve homepage image and ticker geometry before any resource finishes. */
.banner-slide{aspect-ratio:var(--ui-bannerRatio,2)}
.banner-slide img{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
#home-image .home-standalone-image{aspect-ratio:var(--ui-homeImageRatio,2);height:auto;object-fit:contain}
[data-page="home"]>.ui-page-image{aspect-ratio:var(--ui-homeImageRatio,2);max-height:none;object-fit:contain}
[data-page="home"] .ui-block-image{height:auto;object-fit:cover}
.home-text-carousel{height:calc(47.6px * var(--ui-fontScale,1) + 34px);flex-shrink:0}
.home-message{height:100%;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.broadcast-badge img{height:100%;max-height:100%;object-fit:contain}
.home-entry-icon{position:relative;display:grid;place-items:center;flex-shrink:0;width:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize,25px)));height:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize,25px)));line-height:1}
.home-entry-icon>span{font-size:var(--entry-icon-size,var(--section-iconSize,var(--ui-iconSize,25px)));line-height:1}
.home-entry-icon>.home-entry-image{position:absolute;inset:0;width:100%;height:100%}
.brand{min-height:32px}

.shell .back-button{width:max-content;max-width:100%;min-width:0;flex:none;align-self:flex-start;padding:8px 12px;white-space:nowrap}
.holdings-tabs{display:flex;gap:10px;margin:0 0 16px}
.holdings-tabs button{flex:1;min-width:0;min-height:44px;padding:10px 8px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-card);color:var(--ui-card-text,var(--ui-ink));font-size:calc(16px * var(--ui-fontScale,1));white-space:nowrap}
.holdings-tabs button.selected{background:var(--brand);color:var(--ui-button-text)}

.entry-content-image{display:block;width:100%;height:auto;max-height:none;object-fit:contain;margin:12px 0}.entry-content-copy,.meeting-summary{white-space:pre-wrap;overflow-wrap:anywhere}.entry-page-card h2,.meeting-card h2{margin:0 0 12px;color:var(--ui-card-title,var(--ui-card-text,var(--ui-ink)))}.entry-content-link{display:block;width:100%;margin-top:12px;padding:12px;border:1px solid var(--ui-border);border-radius:10px;background:var(--brand);color:var(--ui-button-text);text-align:center;overflow-wrap:anywhere}.meeting-time{font-variant-numeric:tabular-nums}
.download-link-row{display:grid;grid-template-columns:minmax(0,1fr) 88px;align-items:stretch;gap:8px;margin-top:12px}.download-link-row .entry-content-link{margin:0;min-width:0}.download-copy{border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-soft,var(--ui-card));color:var(--ui-card-text,var(--ui-ink));font:inherit;font-size:13px;min-height:48px;padding:8px}.download-copy-status{grid-column:1/-1;font-size:12px;color:var(--ui-card-muted,var(--ui-ink))}.download-link-row input{grid-column:1/-1;min-width:0;width:100%}
.floating-support{position:fixed;z-index:80;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:6px;border:1px solid var(--ui-border,#d6bd83);border-radius:50%;background:var(--ui-card,#fff4d9);color:var(--ui-card-text,#493827);font-size:14px;font-weight:600;text-decoration:none;box-shadow:0 3px 12px #0003;touch-action:none;user-select:none;cursor:pointer}
.floating-support[hidden]{display:none}
.floating-support img{position:absolute;width:calc(100% - 12px);height:calc(100% - 12px);object-fit:contain;border-radius:50%}
.floating-support:focus-visible{outline:3px solid var(--ui-accent,#b78528);outline-offset:3px}
#profile-dialog.wallet-detail :is(h2,h3,.record-row span,.record-row strong,.text-button,.wallet-detail-action){color:var(--wallet-detail-text,#5B3A27)}
.wallet-detail-actions{display:grid;gap:10px;margin-top:14px}.wallet-detail-action{width:100%;box-shadow:0 1px 3px #5b3a2726;min-height:48px;padding:12px;border:1px solid #ba9858;border-radius:12px;background:linear-gradient(135deg,#f8ecca,#f0deb4);font:inherit;text-align:center;cursor:pointer}.wallet-detail-action:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.money-form label.money-choice-card{padding:12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-card);margin:12px 0}.money-form .money-choice-card select{border-radius:calc(var(--ui-radius) * .56)}
.auth-tabs.money-option-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));background:none;border:0;padding:0;gap:10px}.auth-tabs.money-option-cards button{min-width:0;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-card);color:var(--ui-card-text,var(--ui-ink));min-height:48px;font-size:15px;padding:10px}.auth-tabs.money-option-cards button.active{background:var(--ui-auth-tab-selected-background,var(--accent));color:var(--ui-auth-tab-selected-text,var(--ui-button-text));border-color:var(--accent)}

/* Grade badges keep their transparent canvas in the profile header. */
#profile-honors,#profile-honors img{background:transparent;border:0;box-shadow:none;padding:0}

#profile-name[role="button"]{cursor:pointer}#profile-name[role="button"]:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.nickname-form{display:grid;gap:12px}.nickname-form input{width:100%;padding:12px;font:inherit;border:1px solid var(--ui-border);border-radius:8px}

:root[data-design-preview=true][data-style-editing=true] [data-home-module]:hover,:root[data-design-preview=true][data-style-editing=true] [data-home-entry]:hover,:root[data-design-preview=true] [data-design-selected]{outline:2px dashed #34987B;outline-offset:-2px;cursor:pointer}

/* Movable asset layers stay transparent and may cross the old heading row. */
.profile-wallet{position:relative;isolation:isolate;overflow:visible}
.profile-wallet .wallet-heading{position:static;overflow:visible}
.profile-wallet .wallet-amount{position:relative;z-index:0;background:transparent}
.profile-wallet .wallet-title{position:relative;z-index:1;background:transparent}
.profile-wallet .profile-icon,.profile-wallet .ui-component-image{position:relative;z-index:2;background:transparent}
.membership-honors img{background:transparent;border:0;border-radius:0}
#profile-dialog.wallet-detail .profile-dialog-close{background:linear-gradient(135deg,var(--ui-wallet-background,var(--ui-card)),var(--ui-wallet-end,var(--ui-card-end)));border:1px solid var(--ui-border);border-radius:8px;padding:8px 14px;min-height:36px}

.payment-help-actions{display:flex;flex-wrap:wrap;gap:12px;margin:12px 0}
.payment-help-button{display:inline-block;width:auto;padding:10px 16px;margin:12px 12px 12px 0;border:1px solid var(--ui-card-border,var(--accent));border-radius:10px;background:var(--ui-payment-action-background,#CFA45A);color:var(--ui-payment-action-text,#0B2D4D);font:inherit;cursor:pointer}
.payment-help-actions .payment-help-button{margin:0}

/* Anonymous account pages share these backend-controlled colors. */
.account-login-card{background:var(--ui-login-card-background,var(--card));color:var(--ui-login-card-text,var(--ink));}
.account-login-card h3,.account-login-card p{color:var(--ui-login-card-text,var(--ink));}
#brand-logo,.brand-mark{background:transparent;box-shadow:none;}

.support-browser{width:100%;height:calc(100dvh - 200px);min-height:400px;border:0;background:#fff}

.auth-submit.purchase-unavailable:disabled{background:#d1d5db!important;color:#6b7280!important;border-color:#d1d5db!important;box-shadow:none!important;opacity:1;cursor:not-allowed}

.meeting-countdown{font-size:22px;font-weight:700;text-align:center;font-variant-numeric:tabular-nums;color:var(--brand);padding:16px 8px;border:1px solid var(--ui-border);border-radius:10px;background:var(--ui-soft)}
.meeting-history-list{padding:12px 16px}.meeting-history-heading{font-size:14px;margin:0;padding-bottom:10px;border-bottom:1px solid var(--ui-border)}.meeting-history-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-bottom:1px solid var(--ui-border)}.meeting-history-row:last-child{border-bottom:0}.meeting-history-copy{min-width:0;flex:1}.meeting-history-copy h3{font-size:14px;line-height:1.5;margin:0;color:var(--ui-card-title,var(--ui-ink))}.meeting-history-copy h3,.meeting-history-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.meeting-history-summary{font-size:12px;line-height:1.5;margin:5px 0;color:var(--ui-card-muted,var(--ui-muted))}.meeting-history-copy .meeting-time{font-size:11px;margin:4px 0 0}.meeting-history-view{flex-shrink:0;border:1px solid var(--brand);border-radius:8px;background:transparent;color:var(--brand);padding:8px 12px;font-size:12px;min-height:36px}.meeting-detail{width:min(90vw,560px);max-height:80vh;box-sizing:border-box;border:1px solid var(--ui-border);border-radius:14px;padding:20px;background:var(--ui-card);color:var(--ui-card-text,var(--ui-ink));overflow:auto}.meeting-detail::backdrop{background:#0008}.meeting-detail h2{font-size:18px;overflow-wrap:anywhere}.entry-content-link:disabled{opacity:.6;cursor:default}

.meeting-status:disabled{opacity:1;color:var(--brand);background:var(--ui-soft)}
.meeting-browser{box-sizing:border-box;width:calc(100vw - 24px);max-width:1000px;height:90dvh;max-height:90dvh;padding:12px;border:1px solid var(--ui-border);border-radius:14px;background:var(--ui-card);color:var(--ui-ink)}.meeting-browser::backdrop{background:#0008}.meeting-browser-content{height:100%;display:flex;flex-direction:column}.meeting-browser-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.meeting-browser-bar h2{margin:0;font-size:16px}.meeting-browser iframe{width:100%;min-height:0;flex:1;border:0;background:#fff}

.download-link-row{width:min(100%,max(var(--download-min-width,184px),var(--download-width,100%)));grid-template-columns:minmax(0,1fr) var(--download-copy-width,88px);margin-left:auto;margin-right:auto}.download-link-row[data-align=left]{margin-left:0;margin-right:auto}.download-link-row[data-align=right]{margin-left:auto;margin-right:0}

/* Recharge choices remain visible, including their selected and locked state. */
.money-form fieldset.money-visible-choices{min-width:0;padding:12px;border:1px solid var(--ui-border);border-radius:12px;background:var(--ui-card);margin:12px 0}
.money-visible-choices legend{padding:0 6px;font-weight:600}.money-choice-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.money-form label.money-choice-option{display:flex;align-items:center;gap:8px;min-width:0;min-height:48px;margin:0;padding:8px;border:1px solid var(--ui-border);border-radius:8px;cursor:pointer;overflow-wrap:anywhere}
.money-form .money-choice-option input{width:18px;height:18px;min-height:0;padding:0;flex:0 0 18px;margin:0;accent-color:var(--accent)}
.money-choice-option:has(input:checked){border-color:var(--accent);background:var(--ui-soft)}.money-choice-option:has(input:disabled){opacity:.65;cursor:default}

/* Skip layout and paint for off-screen paginated cards; images still load lazily. */
.record-card[data-product-card="true"] { content-visibility: auto; contain-intrinsic-size: auto 420px; }
.identity-document.uploading .identity-plus{display:none}.identity-document.uploading .identity-replace{display:block;text-align:center}.identity-document.uploading .identity-picker{cursor:wait;pointer-events:none}.identity-document.uploading .identity-picker::before{content:'';width:28px;height:28px;border:3px solid currentColor;border-right-color:transparent;border-radius:50%;animation:identity-upload-spin 1s linear infinite}.identity-document.uploading .scope-note{font-weight:600}@keyframes identity-upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.identity-document.uploading .identity-picker::before{animation:none}}

/* Completed products stay visually distinct from pending or unavailable states. */
.product-completion,.auth-submit.purchase-unavailable.product-completion:disabled{color:#C1121F!important;font-weight:800}.subscription-completion{font-size:24px;line-height:1.4}.auth-submit.product-completion{opacity:1}

/* The invitation keeps its configurable card colors, with a larger scan target. */
.profile-invite{grid-template-columns:minmax(0,1fr) 112px;gap:14px;padding:18px 16px 12px;border-radius:18px;box-shadow:0 6px 22px #0000000d}
.invite-copy{min-width:0}.invite-eyebrow{display:block;font-size:10px;letter-spacing:.08em;opacity:.7;margin-bottom:8px}
.invite-copy h3{font-size:13px;font-weight:500}.invite-code{font-size:clamp(22px,6.7vw,28px);font-weight:800;letter-spacing:.035em;margin:6px 0;line-height:1.3;white-space:nowrap}
.invite-caption{font-size:10px;line-height:1.6;margin:0;opacity:.7}.invite-qr{width:112px;height:112px;border-radius:10px;padding:7px;box-shadow:0 2px 8px #0000000d;image-rendering:pixelated}
.invite-actions{gap:6px;padding-top:12px}.invite-actions button{min-height:44px;border:1px solid var(--ui-border);border-radius:8px;font-size:11px;padding:6px 2px;line-height:1.5}.invite-actions button:last-child{font-weight:700}
@media(max-width:350px){.profile-invite{grid-template-columns:minmax(0,1fr) 96px;gap:8px;padding:14px 12px 10px}.invite-qr{width:96px;height:96px;padding:6px}.invite-code{font-size:22px;letter-spacing:0}.invite-eyebrow{letter-spacing:0;font-size:9px}.invite-caption{font-size:9px}.invite-actions button{font-size:10px}}
.network-route-dialog{max-width:420px;width:calc(100% - 40px);max-height:80vh;overflow:auto;border:1px solid #dce8e1;border-radius:16px;padding:20px;color:#213e37;background:#fff}
.network-route-dialog::backdrop{background:#0007}
.network-route-dialog button{display:block;width:100%;margin:8px 0;min-height:42px}
