:root {
  --ink: #181411;
  --ink-soft: #29221d;
  --paper: #f3ede4;
  --paper-deep: #e7ddd0;
  --white: #fffaf4;
  --wine: #b84459;
  --wine-deep: #7b293b;
  --brass: #c39a69;
  --sage: #71867f;
  --muted: #7d746b;
  --line: rgba(33, 27, 22, .13);
  --shadow: 0 26px 60px rgba(39, 25, 18, .16);
  --display: "Songti SC", "STSong", "Noto Serif CJK SC", Georgia, serif;
  --body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
}

* { box-sizing: border-box; }
.skip-link { position: fixed; z-index: 200; top: 8px; left: 8px; padding: 10px 14px; border-radius: 10px; color: #1b0910; background: #f2c28f; font-weight: 800; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
button, a, [role="button"] { touch-action: manipulation; }
.bottom-sheet, .full-sheet { overscroll-behavior: contain; }
html { background: var(--ink); scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100vh;
  color: var(--ink);
  font-family: var(--body);
  background:
    radial-gradient(circle at 0 0, rgba(184,68,89,.12), transparent 30rem),
    var(--paper);
  -webkit-font-smoothing: antialiased;
}
button, input, textarea, select { font: inherit; }
button { color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
img { display: block; max-width: 100%; }
.hidden { display: none !important; }
.eyebrow { margin: 0 0 8px; color: var(--wine); font-size: 10px; font-weight: 800; letter-spacing: .19em; }

.ambient { position: fixed; z-index: -1; border-radius: 50%; filter: blur(2px); pointer-events: none; }
.ambient-one { width: 210px; height: 210px; top: -110px; right: -90px; border: 1px solid rgba(184,68,89,.14); }
.ambient-two { width: 310px; height: 310px; bottom: -190px; left: -170px; border: 1px solid rgba(195,154,105,.25); }

.auth-view {
  min-height: 100svh;
  max-width: 520px;
  margin: 0 auto;
  padding: max(36px, env(safe-area-inset-top)) 24px max(28px, env(safe-area-inset-bottom));
  background: var(--ink);
  color: var(--paper);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}
.auth-view::after { content: ""; position: absolute; width: 260px; height: 260px; border: 1px solid rgba(195,154,105,.13); border-radius: 50%; left: -160px; top: 29%; }
.auth-art { position: absolute; inset: 0 0 auto; height: 44%; overflow: hidden; }
.orbit { position: absolute; left: 50%; top: 46%; border-radius: 50%; transform: translate(-50%,-50%); }
.orbit-a { width: 285px; height: 285px; border: 1px solid rgba(195,154,105,.3); animation: orbit-in 1.2s ease both; }
.orbit-b { width: 182px; height: 182px; background: radial-gradient(circle at 35% 30%, #6d3540, #291a1d 75%); box-shadow: 0 0 70px rgba(184,68,89,.24); animation: float 6s ease-in-out infinite; }
.monogram { position: absolute; left: 50%; top: 46%; transform: translate(-50%,-50%); font: italic 104px/1 var(--display); color: #e8d8c5; }
.auth-copy { position: relative; z-index: 1; animation: rise .7s .1s ease both; }
.auth-copy h1 { margin: 0; font: 600 38px/1.24 var(--display); letter-spacing: -.04em; }
.auth-copy h1 em, .shop-hero h2 em { color: var(--brass); font-style: italic; font-weight: 400; }
.auth-copy > p:last-child { max-width: 420px; margin: 14px 0 22px; color: #aaa098; font-size: 13px; line-height: 1.75; }
.auth-copy.compact { margin-top: 84px; }
.auth-form { position: relative; z-index: 1; display: grid; gap: 12px; animation: rise .7s .2s ease both; }
.auth-form label { color: #9f968f; font-size: 11px; letter-spacing: .05em; }
.auth-form input, .auth-form textarea, .auth-form select {
  width: 100%; margin-top: 6px; padding: 13px 14px; border: 1px solid rgba(243,237,228,.14); border-radius: 12px;
  color: var(--paper); outline: none; background: rgba(255,255,255,.055); transition: border-color .2s, background .2s;
}
.auth-form input:focus, .auth-form textarea:focus, .auth-form select:focus { border-color: var(--brass); background: rgba(255,255,255,.075); }
.auth-form select option { color: var(--ink); }
.form-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.primary-button, .secondary-button {
  border: 0; border-radius: 999px; min-height: 50px; padding: 0 20px; font-weight: 700; cursor: pointer; transition: transform .2s, box-shadow .2s;
}
.primary-button { display: flex; align-items: center; justify-content: space-between; color: var(--paper); background: var(--wine); box-shadow: 0 12px 28px rgba(184,68,89,.23); }
.primary-button:active, .secondary-button:active { transform: scale(.98); }
.secondary-button { color: var(--ink); background: transparent; border: 1px solid var(--line); }
.text-button { border: 0; background: transparent; color: #a99f96; font-size: 12px; cursor: pointer; }
.back-float { position: absolute; z-index: 2; left: 20px; top: max(20px, env(safe-area-inset-top)); border: 0; color: #c9bbae; background: transparent; }
.register-form { margin-top: 12px; }
.auth-view#register-view { justify-content: flex-start; overflow-x: hidden; overflow-y: auto; }
.auth-view#register-view .auth-copy.compact { margin-top: 62px; }
.auth-language-switch { position: fixed; z-index: 90; top: max(13px,env(safe-area-inset-top)); left: 50%; display: flex; width: min(520px,100%); justify-content: flex-end; padding: 0 16px; pointer-events: none; transform: translateX(-50%); }
.auth-language-trigger { display: grid; grid-template-columns: 31px minmax(52px,auto) 24px; min-height: 44px; align-items: center; gap: 8px; border: 1px solid rgba(238,190,148,.26); border-radius: 999px; padding: 5px 7px 5px 6px; color: #f2dccc; background: linear-gradient(120deg,rgba(48,12,23,.91),rgba(21,6,11,.82)); box-shadow: 0 13px 34px rgba(2,0,1,.36),inset 0 1px rgba(255,255,255,.06); backdrop-filter: blur(18px); pointer-events: auto; cursor: pointer; transition: border-color .2s ease,box-shadow .2s ease,transform .2s ease; }
.auth-language-trigger:hover { border-color: rgba(239,195,153,.46); box-shadow: 0 15px 38px rgba(2,0,1,.42),0 0 0 3px rgba(210,146,92,.055),inset 0 1px rgba(255,255,255,.07); }
.auth-language-trigger:active { transform: scale(.975); }
.auth-language-trigger:focus-visible { outline: 2px solid rgba(242,199,153,.78); outline-offset: 3px; }
.auth-language-trigger[aria-expanded="true"] { border-color: rgba(240,193,145,.7); box-shadow: 0 15px 38px rgba(2,0,1,.46),0 0 0 4px rgba(210,146,92,.09); }
.language-trigger-icon { display: grid; width: 31px; height: 31px; place-items: center; border: 1px solid rgba(231,180,128,.28); border-radius: 50%; color: #e3ad76; background: radial-gradient(circle at 35% 25%,rgba(237,189,141,.15),rgba(105,27,48,.2)); }
.language-trigger-icon svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.35; }
.language-trigger-copy { min-width: 0; text-align: left; }
.language-trigger-copy b,.language-trigger-copy small { display: block; white-space: nowrap; }
.language-trigger-copy b { overflow: hidden; max-width: 96px; color: #f7e7dd; font-size: 12px; font-weight: 680; line-height: 1.05; text-overflow: ellipsis; }
.language-trigger-copy small { margin-top: 3px; color: #be8f70; font-size: 8px !important; font-weight: 800; line-height: 1; letter-spacing: .12em; }
.language-trigger-caret { display: grid; width: 24px; height: 24px; place-items: center; border-radius: 50%; color: #c69a7d; background: rgba(255,255,255,.045); transition: transform .2s ease,background .2s ease; }
.language-trigger-caret svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.6; }
.auth-language-trigger[aria-expanded="true"] .language-trigger-caret { color: #f3c99e; background: rgba(219,161,104,.13); transform: rotate(180deg); }
.auth-registering .auth-language-switch { position: absolute; }
.password-pair { grid-template-columns: 1fr; gap: 5px; }
.password-pair label small { display: block; margin: 5px 2px 0; color: #7e736d; font-size: 9px; letter-spacing: 0; transition: color .2s; }
.password-pair input.invalid { border-color: rgba(219,83,108,.82); box-shadow: 0 0 0 3px rgba(184,68,89,.11); }
.password-pair input.invalid + small { color: #dc8293; }
.instant-access-note { display: flex; align-items: center; gap: 10px; border: 1px solid rgba(195,154,105,.2); border-radius: 14px; padding: 11px 13px; background: linear-gradient(110deg, rgba(110,31,51,.24), rgba(195,154,105,.06)); }
.instant-access-note > span { display: grid; width: 30px; height: 30px; flex: 0 0 auto; place-items: center; border: 1px solid rgba(218,170,116,.28); border-radius: 50%; color: #e1b57e; background: rgba(218,170,116,.08); font-size: 12px; }
.instant-access-note b { color: #ead8ce; font-size: 13px; letter-spacing: .01em; }
.auth-form .auth-upload { min-height: 66px; margin-top: 2px; border-color: rgba(243,237,228,.2); color: #b9aea4; background: rgba(255,255,255,.04); cursor: pointer; }
.consent { display: flex; align-items: flex-start; gap: 8px; line-height: 1.6; }
.consent input { width: 16px; margin: 2px 0 0; accent-color: var(--wine); }

.app-shell { max-width: 520px; min-height: 100svh; margin: 0 auto; padding: max(17px, env(safe-area-inset-top)) 18px calc(92px + env(safe-area-inset-bottom)); position: relative; }
.app-header { height: 48px; display: flex; align-items: center; justify-content: space-between; position: relative; z-index: 10; }
.brand { color: var(--ink); font: 700 15px/1 var(--display); letter-spacing: .18em; text-decoration: none; }
.brand span { display: inline-grid; width: 27px; height: 27px; margin-right: 6px; border-radius: 50%; place-items: center; color: var(--paper); background: var(--ink); font-style: italic; letter-spacing: 0; }
.header-actions { display: flex; align-items: center; gap: 8px; }
.membership-pill { border: 1px solid rgba(123,41,59,.18); border-radius: 999px; padding: 7px 11px; color: var(--wine-deep); background: rgba(184,68,89,.07); font-size: 10px; font-weight: 700; }
.membership-pill span { color: var(--brass); }
.icon-button, .round-button { border: 0; display: grid; place-items: center; border-radius: 50%; background: rgba(24,20,17,.06); cursor: pointer; }
.icon-button { width: 34px; height: 34px; position: relative; font-size: 18px; }
.icon-button i { position: absolute; width: 6px; height: 6px; right: 4px; top: 4px; border: 2px solid var(--paper); border-radius: 50%; background: var(--wine); }

.screen { display: none; padding-top: 19px; animation: page-in .42s ease both; }
.screen.active { display: block; }
.date-intro, .section-heading { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 16px; }
.date-intro h2, .section-heading h2 { margin: 0; font: 600 28px/1.15 var(--display); letter-spacing: -.05em; }
.round-button { width: 42px; height: 42px; border: 1px solid var(--line); font-size: 20px; }
.chip-row { display: flex; gap: 7px; overflow-x: auto; padding: 1px 0 14px; scrollbar-width: none; }
.chip-row::-webkit-scrollbar { display: none; }
.chip { flex: 0 0 auto; border: 1px solid var(--line); border-radius: 999px; padding: 8px 12px; background: transparent; color: var(--muted); font-size: 11px; cursor: pointer; }
.chip.active { border-color: var(--ink); color: var(--paper); background: var(--ink); }

.profile-stack { display: grid; grid-template-columns: 1.18fr .82fr; grid-auto-rows: 218px; gap: 10px; min-height: 450px; }
.profile-card { position: relative; overflow: hidden; border-radius: 20px; cursor: pointer; background: var(--paper-deep); box-shadow: 0 8px 24px rgba(40,28,22,.09); animation: card-in .55s ease both; }
.profile-card:nth-child(3n + 1) { grid-row: span 2; }
.profile-card:nth-child(4n) { grid-column: span 2; height: 260px; }
.profile-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s, filter .3s; }
.profile-card:hover img { transform: scale(1.025); }
.profile-card::after { content: ""; position: absolute; inset: 28% 0 0; background: linear-gradient(transparent, rgba(14,10,10,.82)); }
.profile-card.locked img { filter: blur(13px) saturate(.7); transform: scale(1.08); }
.card-topline { position: absolute; z-index: 2; top: 12px; left: 12px; right: 12px; display: flex; justify-content: space-between; }
.status-dot { display: flex; align-items: center; gap: 5px; padding: 5px 8px; border-radius: 999px; color: #f5eee7; background: rgba(15,12,11,.38); backdrop-filter: blur(9px); font-size: 9px; }
.status-dot::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: #92d59e; box-shadow: 0 0 0 3px rgba(146,213,158,.16); }
.select-badge { padding: 5px 8px; border-radius: 999px; color: #2f2218; background: rgba(229,201,164,.9); font: 700 8px/1 var(--body); letter-spacing: .09em; }
.card-copy { position: absolute; z-index: 2; left: 14px; right: 14px; bottom: 13px; color: #fff9f1; }
.card-copy h3 { margin: 0 0 4px; font: 600 19px/1.1 var(--display); }
.card-copy h3 span { margin-left: 4px; font: 500 11px/1 var(--body); opacity: .8; }
.card-copy p { margin: 0; font-size: 9px; opacity: .78; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.verify-mark { display: inline-grid; width: 14px; height: 14px; margin-left: 4px; place-items: center; border-radius: 50%; color: white; background: var(--sage); font: 700 8px/1 var(--body); }
.lock-center { position: absolute; z-index: 3; inset: 0; display: grid; place-content: center; justify-items: center; color: white; text-align: center; }
.lock-center span { display: grid; width: 42px; height: 42px; margin-bottom: 8px; place-items: center; border: 1px solid rgba(255,255,255,.45); border-radius: 50%; background: rgba(28,17,18,.5); backdrop-filter: blur(12px); }
.lock-center b { font: 600 12px var(--display); }
.safety-note { display: flex; gap: 12px; margin: 18px 0 0; padding: 14px; border: 1px solid var(--line); border-radius: 15px; color: var(--muted); background: rgba(255,255,255,.22); }
.safety-note > span { color: var(--wine); }
.safety-note b { display: block; margin-bottom: 3px; color: var(--ink); font-size: 11px; }
.safety-note p { margin: 0; font-size: 10px; line-height: 1.5; }

.bottom-nav { position: fixed; z-index: 30; left: 50%; bottom: 0; width: min(520px, 100%); transform: translateX(-50%); display: grid; grid-template-columns: repeat(4,1fr); padding: 10px 18px calc(8px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(36,29,24,.08); background: rgba(245,239,230,.91); backdrop-filter: blur(20px); }
.nav-item { position: relative; border: 0; padding: 3px 0; background: transparent; color: #91867d; cursor: pointer; }
.nav-item span { display: block; height: 22px; font: 21px/1 var(--display); }
.nav-item b { display: block; margin-top: 2px; font-size: 9px; font-weight: 600; }
.nav-item.active { color: var(--wine); }
.nav-item i { position: absolute; width: 6px; height: 6px; top: 1px; right: calc(50% - 17px); border-radius: 50%; background: var(--wine); }

.count-badge { display: grid; min-width: 30px; height: 30px; place-items: center; border-radius: 50%; color: var(--paper); background: var(--wine); font-size: 11px; }
.conversation-list { min-height: 200px; }
.conversation { width: 100%; display: flex; align-items: center; gap: 12px; border: 0; border-bottom: 1px solid var(--line); padding: 13px 0; text-align: left; background: transparent; cursor: pointer; }
.conversation-avatar { position: relative; flex: 0 0 54px; height: 64px; border-radius: 18px; overflow: hidden; }
.conversation-avatar img { width: 100%; height: 100%; object-fit: cover; }
.conversation-avatar i { position: absolute; width: 10px; height: 10px; right: 2px; bottom: 2px; border: 2px solid var(--paper); border-radius: 50%; background: #6fb781; }
.conversation-copy { min-width: 0; flex: 1; }
.conversation-copy h3 { margin: 0 0 4px; font: 600 15px var(--display); }
.conversation-copy p { margin: 0; color: var(--muted); font-size: 11px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.conversation time { color: #9a9189; font-size: 9px; }
.empty-state { padding: 80px 26px; text-align: center; color: var(--muted); }
.empty-state > span { display: block; color: var(--brass); font: 48px/1 var(--display); }
.empty-state h3 { margin: 17px 0 6px; color: var(--ink); font: 600 21px var(--display); }
.empty-state p { margin: 0 0 22px; font-size: 12px; line-height: 1.7; }

.shop-hero { position: relative; min-height: 230px; padding: 25px 22px; border-radius: 24px; overflow: hidden; color: var(--paper); background: var(--ink); }
.shop-hero h2 { position: relative; z-index: 2; margin: 15px 0 10px; font: 600 28px/1.26 var(--display); }
.shop-hero > p:last-of-type { position: relative; z-index: 2; color: #a99e94; font-size: 10px; }
.shop-orbit { position: absolute; width: 210px; height: 210px; right: -42px; top: 15px; border: 1px solid rgba(195,154,105,.34); border-radius: 50%; }
.shop-orbit::before, .shop-orbit::after { content: ""; position: absolute; border-radius: 50%; }
.shop-orbit::before { width: 125px; height: 125px; left: 42px; top: 42px; background: radial-gradient(circle at 35% 30%, #7c3442, #301c22); }
.shop-orbit::after { width: 12px; height: 12px; left: 17px; top: 92px; background: var(--brass); box-shadow: 0 0 20px rgba(195,154,105,.8); }
.shop-toolbar { display: flex; align-items: center; gap: 8px; margin: 18px 0 2px; }
.shop-toolbar .chip-row { flex: 1; min-width: 0; padding-bottom: 8px; }
.compact-chips .chip { padding: 7px 10px; }
.cart-button { flex: 0 0 auto; align-self: flex-start; border: 0; border-radius: 999px; padding: 7px 10px; color: var(--paper); background: var(--wine); font-size: 10px; }
.cart-button b { display: inline-grid; min-width: 17px; height: 17px; margin-left: 3px; place-items: center; border-radius: 50%; color: var(--wine); background: var(--paper); font-size: 8px; }
.product-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 10px; min-height: 300px; }
.product-card { position: relative; }
.product-image { position: relative; overflow: hidden; aspect-ratio: 1; border-radius: 18px; background: var(--paper-deep); }
.product-image img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.product-card:hover .product-image img { transform: scale(1.035); }
.add-product { position: absolute; right: 9px; bottom: 9px; width: 35px; height: 35px; border: 0; border-radius: 50%; color: var(--paper); background: var(--ink); font-size: 20px; cursor: pointer; }
.product-copy { padding: 9px 3px; }
.product-copy small { color: var(--wine); font-size: 8px; font-weight: 700; letter-spacing: .08em; }
.product-copy h3 { margin: 4px 0 6px; font: 600 13px/1.35 var(--display); }
.product-copy p { margin: 0; font: 700 12px var(--body); }
.product-copy p span { font-size: 9px; font-weight: 500; color: var(--muted); }

.profile-summary { margin: 8px 0 15px; padding: 18px; display: flex; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 22px; background: rgba(255,255,255,.3); }
.profile-summary img { width: 75px; height: 88px; border-radius: 22px; object-fit: cover; }
.profile-summary-copy { flex: 1; min-width: 0; }
.profile-summary-copy h2 { margin: 0 0 5px; font: 600 22px var(--display); }
.profile-summary-copy p { margin: 0 0 7px; color: var(--muted); font-size: 10px; }
.profile-summary-copy span { display: inline-block; padding: 5px 8px; border-radius: 999px; color: var(--sage); background: rgba(113,134,127,.1); font-size: 9px; font-weight: 700; }
.member-card { width: 100%; display: flex; align-items: center; gap: 12px; margin: 0 0 24px; border: 0; border-radius: 20px; padding: 18px; color: var(--paper); text-align: left; background: linear-gradient(130deg, #1b1714, #3a2527); box-shadow: var(--shadow); cursor: pointer; }
.member-gem { display: grid; width: 44px; height: 44px; flex: 0 0 44px; place-items: center; border: 1px solid rgba(195,154,105,.4); border-radius: 50%; color: var(--brass); font: 27px var(--display); }
.member-card > span:nth-child(2) { flex: 1; }
.member-card small, .member-card b, .member-card em { display: block; }
.member-card small { color: var(--brass); font-size: 8px; letter-spacing: .16em; }
.member-card b { margin: 3px 0; font: 600 16px var(--display); }
.member-card em { color: #a99c92; font-size: 9px; font-style: normal; }
.member-card i { color: var(--brass); font-style: normal; }
.me-section { margin-bottom: 19px; }
.section-label { margin: 0 0 5px 4px; color: #9b9188; font-size: 9px; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.menu-row { width: 100%; display: flex; align-items: center; border: 0; border-bottom: 1px solid var(--line); padding: 15px 3px; background: transparent; text-align: left; cursor: pointer; }
.menu-row span { flex: 1; font: 600 13px var(--display); }
.menu-row b { color: var(--muted); font-size: 9px; font-weight: 500; }
.menu-row i { margin-left: 10px; color: #aaa097; font-style: normal; }
.menu-row .member-only { color: var(--wine); }
.danger-row span { color: var(--wine); }
.pending-screen { padding: 80px 25px; text-align: center; }
.pending-seal { width: 80px; height: 80px; display: grid; margin: 0 auto 23px; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: white; font-size: 28px; }
.pending-screen h2 { margin: 0 0 10px; font: 600 25px var(--display); }
.pending-screen > p:not(.eyebrow) { color: var(--muted); font-size: 12px; line-height: 1.8; }

.sheet-backdrop { position: fixed; z-index: 50; inset: 0; background: rgba(20,15,12,.55); backdrop-filter: blur(4px); animation: fade .25s ease both; }
.bottom-sheet, .full-sheet { position: fixed; z-index: 60; left: 50%; width: min(520px, 100%); background: var(--paper); overflow-y: auto; }
.bottom-sheet { bottom: 0; max-height: 88svh; padding: 10px 18px calc(24px + env(safe-area-inset-bottom)); border-radius: 26px 26px 0 0; transform: translateX(-50%); box-shadow: 0 -25px 80px rgba(25,17,14,.24); animation: sheet-up .32s cubic-bezier(.2,.8,.2,1) both; }
.tall-sheet { height: min(760px, 90svh); }
.full-sheet { inset: 0 auto 0 50%; transform: translateX(-50%); padding: max(16px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom)); animation: page-in .32s ease both; }
.sheet-handle { width: 42px; height: 4px; margin: 0 auto 17px; border-radius: 99px; background: rgba(24,20,17,.17); }
.sheet-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 15px; }
.sheet-head h2 { margin: 0; font: 600 24px var(--display); }
.sheet-close { width: 37px; height: 37px; border: 0; border-radius: 50%; background: rgba(24,20,17,.07); font-size: 18px; cursor: pointer; }
.detail-portrait { position: relative; height: 390px; margin: 0 -8px; overflow: hidden; border-radius: 23px; }
.detail-portrait img { width: 100%; height: 100%; object-fit: cover; }
.detail-portrait::after { content: ""; position: absolute; inset: 50% 0 0; background: linear-gradient(transparent, rgba(18,13,12,.75)); }
.detail-title { position: absolute; z-index: 2; left: 18px; right: 18px; bottom: 18px; color: white; }
.detail-title h2 { margin: 0 0 4px; font: 600 27px var(--display); }
.detail-title p { margin: 0; font-size: 10px; opacity: .8; }
.detail-body { padding: 18px 3px; }
.detail-body h3 { margin: 0 0 8px; font: 600 14px var(--display); }
.detail-body p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.tag-list { display: flex; flex-wrap: wrap; gap: 7px; }
.tag { padding: 7px 10px; border-radius: 999px; color: var(--wine-deep); background: rgba(184,68,89,.08); font-size: 10px; }
.detail-actions { position: sticky; bottom: -1px; display: grid; grid-template-columns: 48px 1fr; gap: 9px; padding: 10px 0; background: linear-gradient(transparent, var(--paper) 25%); }
.detail-actions button:first-child { border: 1px solid var(--line); border-radius: 50%; background: var(--paper); }
.unlock-panel { padding: 46px 22px; text-align: center; }
.unlock-panel .member-gem { margin: 0 auto 14px; }
.unlock-panel h2 { margin: 0 0 8px; font: 600 24px var(--display); }
.unlock-panel p { color: var(--muted); font-size: 11px; line-height: 1.7; }

.chat-header { display: flex; align-items: center; gap: 11px; border-bottom: 1px solid var(--line); padding-bottom: 12px; }
.chat-header img { width: 42px; height: 48px; border-radius: 14px; object-fit: cover; }
.chat-header div { flex: 1; }
.chat-header h3 { margin: 0; font: 600 15px var(--display); }
.chat-header p { margin: 3px 0 0; color: var(--sage); font-size: 9px; }
.chat-messages { min-height: calc(100svh - 145px); padding: 18px 2px 85px; }
.message { max-width: 78%; margin: 0 0 11px; padding: 11px 13px; border-radius: 16px 16px 16px 4px; color: var(--ink); background: white; font-size: 12px; line-height: 1.55; box-shadow: 0 6px 18px rgba(48,33,25,.06); }
.message.mine { margin-left: auto; border-radius: 16px 16px 4px; color: white; background: var(--wine); }
.message time { display: block; margin-top: 5px; font-size: 8px; opacity: .55; }
.chat-composer { position: fixed; z-index: 2; left: 50%; bottom: 0; width: min(520px,100%); transform: translateX(-50%); display: flex; gap: 8px; padding: 10px 18px calc(11px + env(safe-area-inset-bottom)); border-top: 1px solid var(--line); background: rgba(243,237,228,.94); backdrop-filter: blur(18px); }
.chat-composer input { flex: 1; min-width: 0; border: 1px solid var(--line); border-radius: 999px; padding: 11px 14px; outline: none; background: white; }
.chat-composer button { width: 43px; border: 0; border-radius: 50%; color: white; background: var(--wine); }

.cart-list { display: grid; gap: 10px; }
.cart-item { display: grid; grid-template-columns: 70px 1fr auto; gap: 11px; align-items: center; padding-bottom: 10px; border-bottom: 1px solid var(--line); }
.cart-item img { width: 70px; height: 70px; border-radius: 14px; object-fit: cover; }
.cart-item h4 { margin: 0 0 5px; font: 600 12px var(--display); }
.cart-item p { margin: 0; font-size: 10px; color: var(--muted); }
.qty { display: flex; align-items: center; gap: 8px; }
.qty button { width: 24px; height: 24px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.cart-total { display: flex; justify-content: space-between; margin: 18px 0; padding: 15px 0; border-top: 1px solid var(--line); font-size: 12px; }
.cart-total b { font-size: 18px; }
.checkout-form, .payment-form { display: grid; gap: 11px; }
.checkout-form input, .checkout-form textarea, .payment-form input, .profile-edit-form input, .profile-edit-form textarea { width: 100%; border: 1px solid var(--line); border-radius: 12px; padding: 12px; outline: none; background: rgba(255,255,255,.55); }
.checkout-form label, .payment-form label, .profile-edit-form label { color: var(--muted); font-size: 10px; }
.plans { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 18px 0; }
.plan { border: 1px solid var(--line); border-radius: 17px; padding: 14px 8px; text-align: center; background: rgba(255,255,255,.24); cursor: pointer; }
.plan.active { border-color: var(--wine); color: var(--wine-deep); background: rgba(184,68,89,.07); }
.plan strong, .plan span, .plan small { display: block; }
.plan strong { font: 600 18px var(--display); }
.plan span { margin: 8px 0 2px; font-weight: 800; }
.plan small { color: var(--muted); font-size: 8px; }
.member-benefits { display: grid; gap: 10px; margin: 20px 0; }
.benefit { display: flex; gap: 10px; color: var(--muted); font-size: 11px; }
.benefit i { color: var(--wine); font-style: normal; }
.payment-card { margin: 13px 0; padding: 17px; border-radius: 17px; color: var(--paper); background: var(--ink); }
.payment-card small { color: var(--brass); font-size: 9px; letter-spacing: .1em; }
.payment-card h3 { margin: 8px 0; font: 600 24px var(--display); }
.wallet-row { display: flex; align-items: center; gap: 8px; margin-top: 13px; padding: 10px; border-radius: 10px; background: rgba(255,255,255,.08); }
.wallet-row code { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: #d8c9ba; font-size: 9px; }
.wallet-row button { border: 0; color: var(--brass); background: transparent; font-size: 9px; }
.upload-faux { display: grid; min-height: 75px; place-items: center; border: 1px dashed rgba(24,20,17,.25); border-radius: 13px; color: var(--muted); font-size: 10px; background: rgba(255,255,255,.25); }
.upload-faux input { display: none; }
.payment-warning { color: var(--muted); font-size: 9px; line-height: 1.6; }
.order-list { display: grid; gap: 11px; }
.order-card { padding: 15px; border: 1px solid var(--line); border-radius: 17px; background: rgba(255,255,255,.35); }
.order-top { display: flex; justify-content: space-between; gap: 8px; }
.order-top small { color: var(--muted); font-size: 8px; }
.order-top b { color: var(--wine); font-size: 9px; }
.order-card h3 { margin: 9px 0 4px; font: 600 14px var(--display); }
.order-card p { margin: 0; color: var(--muted); font-size: 9px; line-height: 1.6; }
.order-amount { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--line); display: flex; justify-content: space-between; font-size: 10px; }
.order-card .secondary-button { width: 100%; min-height: 38px; margin-top: 11px; font-size: 10px; }
.profile-edit-form { display: grid; gap: 11px; }

.loading-block { position: relative; }
.loading-block:empty::after { content: "正在整理精选内容…"; min-height: 180px; display: grid; place-items: center; color: var(--muted); font: italic 12px var(--display); }
[lang="en"] .loading-block:empty::after { content: "Curating your selection…"; }
[lang="hi-IN"] .loading-block:empty::after { content: "चुनी हुई प्रोफ़ाइल तैयार की जा रही हैं…"; }
[lang="pt-BR"] .loading-block:empty::after { content: "Preparando sua seleção…"; }
.toast { position: fixed; z-index: 100; left: 50%; bottom: calc(88px + env(safe-area-inset-bottom)); max-width: calc(100% - 36px); transform: translateX(-50%); padding: 11px 16px; border-radius: 999px; color: var(--paper); background: rgba(24,20,17,.93); box-shadow: var(--shadow); font-size: 10px; text-align: center; animation: toast-in .25s ease both; }

@keyframes orbit-in { from { opacity: 0; transform: translate(-50%,-50%) scale(.7) rotate(-20deg); } }
@keyframes float { 50% { transform: translate(-50%,-54%); } }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } }
@keyframes page-in { from { opacity: 0; transform: translateY(8px); } }
@keyframes full-sheet-in {
  from { opacity: 0; transform: translate(-50%, 8px); }
  to { opacity: 1; transform: translate(-50%, 0); }
}

.full-sheet { animation-name: full-sheet-in; }

/* Account services · v10 */
.service-loading { min-height: 70vh; display: grid; place-items: center; color: #8d7477; font: italic 12px var(--display); }
.service-head { position: relative; display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin: 0 -2px 18px; padding: 5px 2px 17px; border-bottom: 1px solid rgba(255,221,214,.1); }
.service-head h2 { margin: 1px 0 4px; color: #f5e3db; font: 600 27px/1.1 var(--display); letter-spacing: -.035em; }
.service-head > div > p:last-child { margin: 0; color: #8f787a; font-size: 8px; }
.service-head .sheet-close { position: static; flex: 0 0 36px; }
.service-back { display: block; margin: 0 0 10px; border: 0; padding: 0; color: #c49785; background: none; font-size: 8px; cursor: pointer; }
.service-empty { min-height: 68vh; display: grid; place-content: center; justify-items: center; padding: 30px; text-align: center; }
.service-empty > span { display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: 15px; border: 1px solid rgba(218,170,116,.24); border-radius: 50%; color: #d8a96f; font: 24px var(--display); }
.service-empty h3 { margin: 0; color: #efddd5; font: 19px var(--display); }
.service-empty p { max-width: 280px; margin: 8px 0 18px; color: #8d7477; font-size: 9px; line-height: 1.7; }
.service-mini-empty { padding: 30px 8px; color: #765f64; font-size: 9px; text-align: center; }
.service-section { margin-top: 28px; }
.service-section-title { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 9px; }
.service-section-title h3 { margin: 1px 0 0; color: #f0dcd4; font: 600 17px var(--display); }
.service-section-title > span { color: #8f7778; font-size: 8px; }
.service-footnote { margin: 28px 5px 74px; color: #735e62; font-size: 8px; line-height: 1.7; text-align: center; }
.privacy-note, .support-privacy { display: flex; align-items: center; gap: 11px; margin-top: 18px; padding: 13px 14px; border: 1px solid rgba(214,170,113,.15); border-radius: 16px; background: rgba(102,24,46,.13); }
.privacy-note > span, .support-privacy > span { color: #dda96c; font: 22px var(--display); }
.privacy-note p, .support-privacy p { margin: 0; }
.privacy-note b, .privacy-note small, .support-privacy b, .support-privacy small { display: block; }
.privacy-note b, .support-privacy b { color: #dfc9c1; font-size: 9px; }
.privacy-note small, .support-privacy small { margin-top: 3px; color: #8f7778; font-size: 8px; line-height: 1.5; }

.received-like-list { border-top: 1px solid rgba(255,221,214,.08); }
.received-like-row { width: 100%; display: grid; grid-template-columns: 53px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 78px; border: 0; border-bottom: 1px solid rgba(255,221,214,.08); padding: 9px 0; color: inherit; background: none; text-align: left; cursor: pointer; }
.received-like-row img { width: 53px; height: 58px; border-radius: 16px; object-fit: cover; filter: saturate(.82); }
.received-like-row b, .received-like-row small { display: block; }
.received-like-row b { color: #ecd8d1; font: 600 14px var(--display); }
.received-like-row small { margin-top: 5px; color: #887174; font-size: 8px; }
.received-like-row em { color: #bd8d80; font-size: 8px; font-style: normal; white-space: nowrap; }
.likes-gate { position: relative; min-height: 560px; display: grid; align-content: center; justify-items: center; overflow: hidden; border: 1px solid rgba(229,183,133,.18); border-radius: 28px; padding: 42px 28px; text-align: center; background: radial-gradient(circle at 50% 28%,rgba(190,65,91,.28),transparent 180px),linear-gradient(145deg,#441326,#1c0911 64%); }
.likes-gate::before { content: ""; position: absolute; width: 320px; height: 320px; border: 1px solid rgba(231,189,145,.08); border-radius: 50%; }
.likes-gate > span { position: relative; color: #e9b875; font: 66px/1 var(--display); text-shadow: 0 0 36px rgba(235,164,104,.25); }
.likes-gate small { position: relative; margin-top: 15px; color: #d6a770; font-size: 8px; font-weight: 700; letter-spacing: .2em; }
.likes-gate h3 { position: relative; margin: 12px 0 7px; color: #f3ded5; font: italic 23px var(--display); }
.likes-gate p { position: relative; max-width: 280px; margin: 0 0 24px; color: #a78b8d; font-size: 9px; line-height: 1.7; }
.likes-gate button { position: relative; max-width: 280px; }
.likes-gate button i { font-style: normal; }

.safety-hero { display: grid; grid-template-columns: 56px 1fr; gap: 15px; align-items: center; padding: 19px; border: 1px solid rgba(222,169,116,.18); border-radius: 22px; background: radial-gradient(circle at 100% 0,rgba(194,64,91,.22),transparent 160px),linear-gradient(135deg,#3c1121,#1f0b13); }
.safety-hero > span { display: grid; width: 56px; height: 56px; place-items: center; border: 1px solid rgba(228,181,130,.3); border-radius: 50%; color: #dfae76; font: 600 14px var(--display); }
.safety-hero small { color: #d29e68; font-size: 7px; letter-spacing: .18em; }
.safety-hero h3 { margin: 5px 0 4px; color: #f0ddd5; font: italic 19px var(--display); }
.safety-hero p { margin: 0; color: #a2888a; font-size: 8px; line-height: 1.6; }
.safety-rules { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 10px; }
.safety-rules article { padding: 13px; border: 1px solid rgba(255,221,214,.08); border-radius: 15px; background: rgba(255,238,232,.025); }
.safety-rules b, .safety-rules small { display: block; }
.safety-rules b { color: #d9b08d; font-size: 9px; }
.safety-rules small { margin-top: 4px; color: #786267; font-size: 8px; line-height: 1.5; }
.safety-help-button { width: 100%; display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; margin-top: 10px; border: 1px solid rgba(194,64,91,.18); border-radius: 16px; padding: 12px; color: inherit; background: rgba(116,27,51,.14); text-align: left; cursor: pointer; }
.safety-help-button > span { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 12px; color: #da8294; background: rgba(194,64,91,.13); }
.safety-help-button b { color: #d8c1bb; font-size: 9px; }
.safety-help-button em { color: #a97874; font-size: 8px; font-style: normal; }
.safety-records, .blocked-list { border-top: 1px solid rgba(255,221,214,.08); }
.safety-records article { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: start; padding: 12px 0; border-bottom: 1px solid rgba(255,221,214,.08); }
.safety-records img, .blocked-list img { width: 40px; height: 44px; border-radius: 12px; object-fit: cover; filter: grayscale(.25); }
.safety-records b, .safety-records small { display: block; }
.safety-records b { color: #d9c4bd; font-size: 9px; }
.safety-records small { margin-top: 4px; color: #7f696d; font-size: 8px; }
.safety-records p { margin: 7px 0 0; color: #9b8283; font-size: 8px; line-height: 1.5; }
.safety-records article > span { padding: 5px 7px; border-radius: 999px; font-size: 7px; white-space: nowrap; }
.safety-records .open { color: #d8aa74; background: rgba(218,170,116,.1); }
.safety-records .resolved { color: #8eb5a1; background: rgba(99,151,124,.1); }
.blocked-list article { display: grid; grid-template-columns: 40px 1fr auto; gap: 10px; align-items: center; padding: 10px 0; border-bottom: 1px solid rgba(255,221,214,.08); }
.blocked-list b, .blocked-list small { display: block; }
.blocked-list b { color: #d9c4bd; font-size: 9px; }
.blocked-list small { margin-top: 4px; color: #7e686c; font-size: 8px; }
.blocked-list button { border: 1px solid rgba(255,221,214,.1); border-radius: 999px; padding: 7px 10px; color: #ad8883; background: none; font-size: 8px; }

.support-intro { display: grid; grid-template-columns: 50px 1fr; gap: 13px; align-items: center; padding: 16px; border: 1px solid rgba(221,169,117,.16); border-radius: 20px; background: linear-gradient(120deg,rgba(104,25,47,.28),rgba(255,238,232,.025)); }
.support-intro > span { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(224,175,122,.24); border-radius: 50%; color: #dcaa71; font: 23px var(--display); }
.support-intro small { color: #c99b6b; font-size: 7px; letter-spacing: .12em; }
.support-intro h3 { margin: 4px 0; color: #e9d6cf; font: 15px var(--display); }
.support-intro p { margin: 0; color: #887175; font-size: 8px; line-height: 1.55; }
.service-primary { margin-top: 11px; }
.ticket-list { border-top: 1px solid rgba(255,221,214,.08); }
.ticket-list > button { width: 100%; display: grid; grid-template-columns: 9px 1fr auto; gap: 10px; align-items: center; min-height: 65px; border: 0; border-bottom: 1px solid rgba(255,221,214,.08); padding: 8px 1px; color: inherit; background: none; text-align: left; cursor: pointer; }
.ticket-status { width: 7px; height: 7px; border-radius: 50%; }
.ticket-status.open { background: #dd9d66; box-shadow: 0 0 9px rgba(221,157,102,.38); }
.ticket-status.in_progress { background: #d85a78; box-shadow: 0 0 9px rgba(216,90,120,.38); }
.ticket-status.closed { background: #62756e; }
.ticket-list b, .ticket-list small { display: block; }
.ticket-list b { color: #e4d0c9; font-size: 9px; }
.ticket-list small { margin-top: 4px; color: #7f696c; font-size: 8px; }
.ticket-list em { color: #a47e78; font-size: 8px; font-style: normal; }
.support-form { display: grid; gap: 14px; padding-bottom: 68px; }
.support-form label { color: #9a8282; font-size: 9px; }
.support-form input, .support-form select, .support-form textarea, .support-reply textarea { width: 100%; margin-top: 7px; border: 1px solid rgba(255,221,214,.13); border-radius: 13px; padding: 12px; outline: none; color: #f0dcd5; background: #241017; font-size: 10px; }
.support-form input:focus, .support-form select:focus, .support-form textarea:focus, .support-reply textarea:focus { border-color: rgba(218,126,143,.55); }
.support-form select option { background: #241017; }
.support-conversation { display: grid; gap: 11px; padding: 5px 0 18px; }
.support-message { max-width: 88%; padding: 12px 13px; border-radius: 16px; }
.support-message.user { justify-self: end; border-bottom-right-radius: 5px; background: linear-gradient(135deg,#8f2647,#bb405e); }
.support-message.admin { justify-self: start; border: 1px solid rgba(255,221,214,.09); border-bottom-left-radius: 5px; background: #261018; }
.support-message > div { display: flex; justify-content: space-between; gap: 18px; }
.support-message b { color: #f0ddd5; font-size: 8px; }
.support-message time { color: rgba(239,218,210,.52); font-size: 7px; }
.support-message p { margin: 7px 0 0; color: #ead6ce; font-size: 10px; line-height: 1.6; white-space: pre-wrap; }
.support-reply { display: grid; gap: 9px; margin-bottom: 65px; padding-top: 15px; border-top: 1px solid rgba(255,221,214,.09); }
.support-reply textarea { margin: 0; resize: vertical; }
.support-closed { display: flex; align-items: center; gap: 11px; margin: 12px 0 70px; padding: 14px; border: 1px solid rgba(94,131,113,.15); border-radius: 16px; background: rgba(78,120,99,.08); }
.support-closed > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #9cc0ae; background: rgba(99,151,124,.12); }
.support-closed p { margin: 0; }
.support-closed b, .support-closed small { display: block; }
.support-closed b { color: #c9d8d0; font-size: 9px; }
.support-closed small { margin-top: 3px; color: #73867d; font-size: 8px; }
@keyframes card-in { from { opacity: 0; transform: translateY(14px) scale(.98); } }
@keyframes fade { from { opacity: 0; } }
@keyframes sheet-up { from { opacity: 0; transform: translate(-50%, 28px); } }
@keyframes toast-in { from { opacity: 0; transform: translate(-50%, 8px); } }

@media (min-width: 740px) {
  body { padding: 25px 0; background: #cfc5ba; }
  .app-shell, .auth-view { min-height: calc(100vh - 50px); border-radius: 30px; box-shadow: 0 25px 80px rgba(35,25,19,.2); }
  .bottom-nav { bottom: 25px; border-radius: 0 0 30px 30px; }
  .bottom-sheet { bottom: 25px; border-radius: 26px; }
  .full-sheet { inset: 25px auto 25px 50%; border-radius: 30px; height: calc(100vh - 50px); }
  .chat-composer { bottom: 25px; border-radius: 0 0 30px 30px; }
}

/* Platform-managed dating concierge · v11 */
.managed-dot::before { background: #d8a46c; box-shadow: 0 0 0 3px rgba(216,164,108,.14), 0 0 13px rgba(216,164,108,.34); }
.detail-actions { display: block; }
.detail-actions .primary-button,
.detail-actions button:first-child { width: 100%; min-height: 50px; border: 0; border-radius: 999px; color: #fff4ed; background: linear-gradient(110deg, #8d2944, #d05b70); box-shadow: 0 12px 28px rgba(109,22,49,.34); }

/* v20 · local service region */
.regional-catalog-note { display: flex; align-items: center; gap: 10px; margin: 0 0 11px; border: 1px solid rgba(228,183,145,.16); border-radius: 16px; padding: 11px 12px; color: #efd7c7; background: linear-gradient(110deg,rgba(112,28,51,.55),rgba(50,15,27,.88)); }
.regional-catalog-note > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border: 1px solid rgba(241,199,160,.3); border-radius: 50%; color: #e1a86d; }
.regional-catalog-note > div { min-width: 0; flex: 1; }
.regional-catalog-note b, .regional-catalog-note small { display: block; }
.regional-catalog-note b { font-size: 13px; }
.regional-catalog-note small { margin-top: 2px; color: #ad9188; font-size: 9px; line-height: 1.35; }
.regional-catalog-note button { border: 0; border-radius: 999px; padding: 7px 9px; color: #f4cfae; background: rgba(255,255,255,.07); font-size: 10px; }
.settings-region-card { margin: 14px 16px 0; border: 1px solid rgba(228,183,145,.18); border-radius: 20px; padding: 17px; background: radial-gradient(circle at 90% 0,rgba(160,45,74,.18),transparent 150px),rgba(41,14,24,.82); }
.region-picker-trigger { display: flex; width: 100%; min-height: 66px; margin-top: 16px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(232,186,141,.42); border-radius: 16px; padding: 11px 14px; color: #f5e2d8; background: linear-gradient(105deg,rgba(103,29,50,.72),rgba(31,11,18,.94)); box-shadow: 0 10px 26px rgba(1,0,0,.2),inset 0 1px rgba(255,255,255,.04); text-align: left; }
.region-picker-trigger > span { min-width: 0; }
.region-picker-trigger small, .region-picker-trigger b, .region-picker-trigger em { display: block; }
.region-picker-trigger small { color: #c59a73; font-size: 9px; font-weight: 800; letter-spacing: .12em; }
.region-picker-trigger b { margin-top: 4px; color: #ffeade; font: 600 18px var(--display); }
.region-picker-trigger em { margin-top: 2px; color: #a78b84; font-size: 10px; font-style: normal; }
.region-picker-trigger > i { flex: 0 0 auto; border-radius: 999px; padding: 8px 10px; color: #efc596; background: rgba(255,255,255,.055); font-size: 11px; font-style: normal; }
.region-picker-trigger:active { transform: scale(.992); }
.app-choice-field { display: block; width: 100%; margin-top: 7px; }
.app-choice-field > input[type="hidden"] { display: none; }
.app-choice-trigger { display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: space-between; gap: 12px; border: 1px solid rgba(255,221,214,.18); border-radius: 14px; padding: 0 14px; color: #f2dfd8; background: rgba(255,238,232,.055); box-shadow: inset 0 1px rgba(255,255,255,.025); text-align: left; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.app-choice-trigger > span { min-width: 0; overflow: hidden; font-size: 15px; font-weight: 550; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.app-choice-trigger > i { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; color: #dfb47d; background: rgba(255,255,255,.045); font-size: 17px; font-style: normal; transition: transform .18s ease,background .18s ease; }
.app-choice-trigger.placeholder > span { color: #8f7774; font-weight: 450; }
.app-choice-trigger[aria-expanded="true"] { border-color: rgba(232,181,128,.72); background: linear-gradient(105deg,rgba(104,29,49,.55),rgba(255,238,232,.06)); box-shadow: 0 0 0 3px rgba(211,145,87,.1),inset 0 1px rgba(255,255,255,.04); }
.app-choice-trigger[aria-expanded="true"] > i { color: #ffe2c1; background: rgba(218,162,104,.15); transform: rotate(180deg); }
.app-choice-trigger:active { transform: scale(.992); }
.app-choice-trigger:disabled { color: #8f7975; cursor: wait; opacity: .72; }
.choice-picker-panel { padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
.choice-picker-list { padding-bottom: 6px; }
.choice-picker-option .region-choice-copy b { font-family: var(--body); font-weight: 650; }
.region-change-warning { display: flex; gap: 7px; margin: 10px 0 0; color: #9e817a; font-size: 10px; line-height: 1.5; }
.region-change-warning span { color: #d49459; }
.register-form label > small { display: block; margin-top: 5px; color: #8f7470; font-size: 9px; line-height: 1.4; }

.region-picker-layer { position: fixed; z-index: 120; inset: 0; display: flex; align-items: flex-end; justify-content: center; pointer-events: none; opacity: 0; transition: opacity .18s ease; }
.region-picker-layer.open { pointer-events: auto; opacity: 1; }
.region-picker-backdrop { position: absolute; inset: 0; background: rgba(5,1,3,.76); backdrop-filter: blur(8px); }
.region-picker-panel { position: relative; width: min(520px,100%); max-height: 88svh; overflow: hidden; border: 1px solid rgba(238,194,160,.18); border-radius: 28px 28px 0 0; padding: 10px 17px calc(18px + env(safe-area-inset-bottom)); color: #f5e3da; background: radial-gradient(circle at 90% 0,rgba(166,48,75,.28),transparent 210px),linear-gradient(155deg,#260d17,#12070b 72%); box-shadow: 0 -28px 80px rgba(0,0,0,.52); transform: translateY(34px); transition: transform .24s cubic-bezier(.2,.8,.2,1); }
.region-picker-layer.open .region-picker-panel { transform: translateY(0); }
.region-picker-handle { width: 44px; height: 4px; margin: 0 auto 14px; border-radius: 999px; background: rgba(245,216,199,.23); }
.region-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding: 0 2px 14px; border-bottom: 1px solid rgba(242,209,191,.1); }
.region-picker-head small { color: #d6a269; font-size: 9px; font-weight: 800; letter-spacing: .18em; }
.region-picker-head h2 { margin: 4px 0 3px; color: #fff0e7; font: 600 25px var(--display); }
.region-picker-head p { margin: 0; color: #a88d87; font-size: 11px; }
.region-picker-head button { display: grid; width: 40px; height: 40px; flex: 0 0 40px; place-items: center; border: 0; border-radius: 50%; color: #ead4ca; background: rgba(255,255,255,.075); font-size: 20px; }
.region-picker-list { display: grid; gap: 8px; max-height: min(57svh,530px); margin: 13px -2px 0; padding: 0 2px 4px; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: rgba(198,84,111,.55) transparent; }
.region-choice { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; min-height: 62px; align-items: center; gap: 11px; border: 1px solid rgba(238,207,193,.11); border-radius: 17px; padding: 9px 12px; color: #f2dfd6; background: rgba(255,255,255,.035); text-align: left; transition: border-color .16s ease,background .16s ease,transform .16s ease; }
.region-choice:active { transform: scale(.99); }
.region-choice.selected { border-color: rgba(230,174,120,.54); background: linear-gradient(105deg,rgba(128,36,61,.62),rgba(68,21,35,.58)); box-shadow: inset 3px 0 #d19661,0 10px 28px rgba(2,0,1,.15); }
.region-choice-mark { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(232,190,153,.23); border-radius: 14px; color: #d7a66e; background: rgba(124,36,57,.24); font-size: 15px; }
.region-choice.selected .region-choice-mark { color: #35131e; background: #e9bd8c; }
.region-choice-copy { min-width: 0; }
.region-choice-copy b, .region-choice-copy small { display: block; }
.region-choice-copy b { overflow: hidden; color: #fcebe2; font: 600 17px var(--display); text-overflow: ellipsis; white-space: nowrap; }
.region-choice-copy small { overflow: hidden; margin-top: 4px; color: #9e8580; font-size: 10px; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.region-choice em { border-radius: 999px; padding: 6px 8px; color: #b99b8d; background: rgba(255,255,255,.05); font-size: 9px; font-style: normal; }
.region-choice.selected em { color: #f1c99e; background: rgba(226,170,111,.12); }
.region-picker-layer.busy .region-choice { pointer-events: none; opacity: .52; }
.region-picker-layer.busy .region-choice.saving { opacity: 1; }
.region-picker-layer.busy .region-choice.saving em { color: transparent; }
.region-picker-layer.busy .region-choice.saving em::after { content: "···"; color: #f0c596; }
.region-picker-footnote { display: flex; gap: 8px; margin: 11px 2px 0; color: #927872; font-size: 9px; line-height: 1.5; }
.region-picker-footnote span { color: #d19a62; }
.language-picker-panel { padding-bottom: calc(22px + env(safe-area-inset-bottom)); }
.language-picker-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 9px; margin-top: 14px; }
.language-picker-option { position: relative; display: grid; min-height: 104px; grid-template-columns: 42px minmax(0,1fr); grid-template-rows: 1fr auto; align-items: center; gap: 4px 11px; overflow: hidden; border: 1px solid rgba(239,206,188,.11); border-radius: 20px; padding: 13px; color: #ead8d0; background: linear-gradient(135deg,rgba(255,255,255,.045),rgba(86,22,42,.11)); text-align: left; cursor: pointer; transition: border-color .18s ease,background .18s ease,box-shadow .18s ease,transform .18s ease; }
.language-picker-option::after { content: ""; position: absolute; width: 56px; height: 56px; right: -27px; top: -25px; border: 1px solid rgba(230,184,139,.1); border-radius: 50%; pointer-events: none; }
.language-picker-option:hover { border-color: rgba(232,182,134,.32); background: linear-gradient(135deg,rgba(255,255,255,.065),rgba(111,28,52,.18)); }
.language-picker-option:active { transform: scale(.985); }
.language-picker-option:focus-visible { outline: 2px solid rgba(239,190,142,.72); outline-offset: 2px; }
.language-picker-option.selected { border-color: rgba(235,182,128,.58); background: radial-gradient(circle at 100% 0,rgba(211,105,120,.17),transparent 80px),linear-gradient(135deg,rgba(119,32,57,.68),rgba(49,14,25,.82)); box-shadow: inset 3px 0 #d69b62,0 13px 28px rgba(2,0,1,.2); }
.language-option-mark { display: grid; width: 42px; height: 42px; grid-row: 1; place-items: center; border: 1px solid rgba(233,189,148,.22); border-radius: 14px; color: #d9a572; background: rgba(124,34,57,.23); font: 650 14px var(--display); }
.language-picker-option.selected .language-option-mark { border-color: rgba(246,210,174,.58); color: #34101c; background: linear-gradient(135deg,#f0c99c,#d99b63); box-shadow: 0 7px 17px rgba(218,157,98,.16); }
.language-option-copy { min-width: 0; grid-row: 1; }
.language-option-copy b,.language-option-copy small { display: block; }
.language-option-copy b { overflow: hidden; color: #f7e5dc; font: 600 15px var(--display); text-overflow: ellipsis; white-space: nowrap; }
.language-option-copy small { margin-top: 5px; color: #9f7d76; font-size: 8px !important; font-weight: 800; letter-spacing: .14em; }
.language-option-state { grid-column: 1 / -1; grid-row: 2; padding-top: 9px; border-top: 1px solid rgba(239,207,190,.08); color: #967b76; font-size: 9px; font-weight: 700; letter-spacing: .04em; }
.language-picker-option.selected .language-option-state { color: #edbc8c; }
.language-picker-layer.busy .language-picker-option { pointer-events: none; opacity: .42; }
.language-picker-layer.busy .language-picker-option.saving { opacity: 1; }
.language-picker-layer.busy .language-picker-option.saving .language-option-state { color: transparent; }
.language-picker-layer.busy .language-picker-option.saving .language-option-state::after { content: "···"; color: #edbc8c; letter-spacing: .18em; }
@media (min-width:740px) {
  .auth-language-switch { top: 39px; }
  .region-picker-panel { margin-bottom: 25px; border-radius: 28px; }
}

/* Settings, language and privacy · v19 */
.settings-menu-row span { display: inline-flex; align-items: center; gap: 9px; }
.settings-menu-row span::before { content: "⌘"; color: #d7a36a; font: 600 13px var(--display); }
.settings-head { padding-bottom: 18px; }
.settings-language-card { position: relative; overflow: hidden; margin: 0 0 14px; border: 1px solid rgba(224,177,126,.2); border-radius: 24px; padding: 18px; background: radial-gradient(circle at 95% -10%, rgba(205,75,101,.28), transparent 140px), linear-gradient(130deg,rgba(74,16,37,.72),rgba(34,10,19,.78)); box-shadow: 0 18px 45px rgba(4,0,2,.22); }
.settings-language-card::after { content: "文"; position: absolute; right: -4px; top: -29px; color: rgba(244,211,184,.04); font: 600 118px var(--display); pointer-events: none; }
[lang="en"] .settings-language-card::after { content: "A"; }
[lang="hi-IN"] .settings-language-card::after { content: "अ"; }
[lang="pt-BR"] .settings-language-card::after { content: "P"; }
.settings-section-copy { position: relative; z-index: 1; display: grid; grid-template-columns: 46px 1fr; gap: 13px; align-items: center; }
.settings-section-copy > span { display: grid; width: 46px; height: 46px; place-items: center; border: 1px solid rgba(233,194,153,.25); border-radius: 15px; color: #ecc89f; background: rgba(139,39,65,.28); font: 600 20px var(--display); }
.settings-section-copy small, .settings-panel-title small { color: #d6a269; font-size: 9px; font-weight: 750; letter-spacing: .16em; }
.settings-section-copy h3 { margin: 4px 0 3px; color: #f6e4dc; font: 600 21px var(--display); }
.settings-section-copy p { margin: 0; color: #ad9591; font-size: 12px; line-height: 1.5; }
.settings-language-trigger { position: relative; z-index: 1; display: grid; width: 100%; grid-template-columns: 48px minmax(0,1fr) 38px; min-height: 72px; align-items: center; gap: 13px; margin-top: 17px; border: 1px solid rgba(235,190,145,.28); border-radius: 18px; padding: 10px 11px; color: #f4e1d8; background: linear-gradient(110deg,rgba(31,8,16,.68),rgba(84,23,42,.55)); box-shadow: 0 12px 28px rgba(2,0,1,.2),inset 0 1px rgba(255,255,255,.045); text-align: left; cursor: pointer; transition: border-color .2s ease,transform .2s ease,box-shadow .2s ease; }
.settings-language-trigger:hover,.settings-language-trigger[aria-expanded="true"] { border-color: rgba(235,185,134,.55); box-shadow: 0 14px 34px rgba(2,0,1,.28),0 0 0 3px rgba(212,150,95,.06),inset 0 1px rgba(255,255,255,.06); }
.settings-language-trigger:active { transform: scale(.99); }
.settings-language-trigger:focus-visible { outline: 2px solid rgba(235,190,145,.7); outline-offset: 3px; }
.settings-language-mark { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(235,188,142,.29); border-radius: 16px; color: #f0c18f; background: radial-gradient(circle at 30% 20%,rgba(233,186,140,.18),rgba(111,30,54,.27)); font: 650 15px var(--display); }
.settings-language-current { min-width: 0; }
.settings-language-current small,.settings-language-current b,.settings-language-current em { display: block; }
.settings-language-current small { color: #c28f68; font-size: 8px !important; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.settings-language-current b { overflow: hidden; margin-top: 4px; color: #ffece2; font: 600 18px var(--display); text-overflow: ellipsis; white-space: nowrap; }
.settings-language-current em { margin-top: 3px; color: #9f817c; font-size: 9px; font-style: normal; letter-spacing: .1em; }
.settings-language-open { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(233,185,138,.15); border-radius: 50%; color: #e4b17d; background: rgba(255,255,255,.045); transition: transform .2s ease,background .2s ease; }
.settings-language-open svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.55; }
.settings-language-trigger[aria-expanded="true"] .settings-language-open { background: rgba(221,163,104,.14); transform: translateX(2px); }
[lang="hi-IN"] body { --display: "Noto Serif Devanagari", "Kohinoor Devanagari", Georgia, serif; --body: "Noto Sans Devanagari", "Kohinoor Devanagari", sans-serif; }
.settings-form { display: grid; gap: 13px; }
.settings-panel { overflow: hidden; border: 1px solid rgba(235,205,191,.11); border-radius: 22px; padding: 17px; background: linear-gradient(125deg,rgba(255,239,232,.045),rgba(102,21,46,.1)); }
.settings-panel-title { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 7px; padding-bottom: 13px; border-bottom: 1px solid rgba(238,207,192,.09); }
.settings-panel-title h3 { margin: 4px 0 0; color: #f3dfd7; font: 600 19px var(--display); }
.settings-panel-title > span { display: grid; width: 36px; height: 36px; place-items: center; border: 1px solid rgba(229,182,135,.2); border-radius: 50%; color: #d9ad7d; background: rgba(131,31,57,.18); }
.preference-toggle { position: relative; display: grid; grid-template-columns: 1fr 47px; gap: 14px; align-items: center; min-height: 70px; border-bottom: 1px solid rgba(238,207,192,.085); cursor: pointer; }
.preference-toggle:last-of-type { border-bottom: 0; }
.preference-toggle > span b, .preference-toggle > span small { display: block; }
.preference-toggle > span b { color: #ead8d1; font-size: 14px; font-weight: 650; }
.preference-toggle > span small { margin-top: 5px; color: #957f7d; font-size: 11px; line-height: 1.45; }
.preference-toggle input { position: absolute; opacity: 0; pointer-events: none; }
.preference-toggle > i { position: relative; width: 47px; height: 27px; border: 1px solid rgba(230,202,189,.14); border-radius: 999px; background: #251117; box-shadow: inset 0 2px 7px rgba(0,0,0,.28); transition: .22s ease; }
.preference-toggle > i::after { content: ""; position: absolute; width: 21px; height: 21px; left: 2px; top: 2px; border-radius: 50%; background: #8e7775; box-shadow: 0 3px 8px rgba(0,0,0,.3); transition: .22s ease; }
.preference-toggle input:checked + i { border-color: rgba(229,174,113,.42); background: linear-gradient(110deg,#81223f,#b94a62); }
.preference-toggle input:checked + i::after { left: 22px; background: #f1cfaa; }
.preference-toggle input:focus-visible + i { outline: 2px solid #e3b57d; outline-offset: 3px; }
.settings-security-note { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; border-radius: 13px; padding: 10px 12px; color: #9f8984; background: rgba(221,173,119,.06); font-size: 11px; line-height: 1.45; }
.settings-security-note span { color: #d8a76f; }
.settings-save { margin: 2px 0 5px; }
.settings-actions-panel { margin-top: 13px; }
.settings-action { display: grid; width: 100%; grid-template-columns: 1fr auto; gap: 12px; align-items: center; min-height: 69px; border: 0; border-bottom: 1px solid rgba(238,207,192,.09); padding: 0; color: inherit; background: transparent; text-align: left; cursor: pointer; }
.settings-action:last-child { border-bottom: 0; }
.settings-action span b, .settings-action span small { display: block; }
.settings-action span b { color: #ead8d1; font-size: 14px; }
.settings-action span small { margin-top: 5px; color: #957f7d; font-size: 11px; line-height: 1.45; }
.settings-action i { color: #b99d92; font: 19px var(--display); }
.settings-about { display: grid; grid-template-columns: 48px 1fr; gap: 13px; align-items: center; margin: 16px 0 calc(18px + env(safe-area-inset-bottom)); border: 1px solid rgba(235,205,191,.09); border-radius: 20px; padding: 15px; background: rgba(255,239,232,.025); }
.settings-about img { width: 48px; height: 48px; border-radius: 50%; background: #2f0c1a; }
.settings-about small, .settings-about b, .settings-about p { display: block; }
.settings-about small { color: #d4a06a; font-size: 9px; letter-spacing: .1em; }
.settings-about b { margin-top: 4px; color: #d9c7c0; font-size: 12px; line-height: 1.45; }
.settings-about p { margin: 4px 0 0; color: #816e6e; font-size: 10px; }
.password-security-card { display: grid; grid-template-columns: 48px 1fr; gap: 14px; align-items: center; margin: 0 0 16px; border: 1px solid rgba(224,177,126,.19); border-radius: 21px; padding: 17px; background: linear-gradient(125deg,rgba(99,22,46,.38),rgba(230,177,118,.055)); }
.password-security-card > span { display: grid; width: 48px; height: 48px; place-items: center; border: 1px solid rgba(229,184,139,.25); border-radius: 50%; color: #e5b982; background: rgba(117,28,51,.34); font-size: 19px; }
.password-security-card small { color: #d5a169; font-size: 9px; letter-spacing: .14em; }
.password-security-card h3 { margin: 5px 0; color: #efddd6; font: 600 19px var(--display); }
.password-security-card p { margin: 0; color: #a28b87; font-size: 11px; line-height: 1.5; }
.settings-password-form { display: grid; gap: 13px; }
.settings-password-form label { color: #bca6a1; font-size: 13px; }
.settings-password-form input { width: 100%; margin-top: 7px; border: 1px solid rgba(255,221,214,.15); border-radius: 14px; padding: 14px; outline: none; color: #f2dfd8; background: rgba(255,238,232,.055); font-size: 14px; }
.settings-password-form input:focus { border-color: rgba(220,170,112,.72); box-shadow: 0 0 0 3px rgba(196,72,97,.09); }
.settings-password-form label > small { display: block; min-height: 16px; margin-top: 5px; color: #d76d81; font-size: 11px; }
body.reduce-motion *, body.reduce-motion *::before, body.reduce-motion *::after { scroll-behavior: auto !important; animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
html[lang="en"] .menu-row span { letter-spacing: 0; }
html[lang="en"] .settings-section-copy h3,
html[lang="en"] .settings-panel-title h3 { font-family: var(--body); font-weight: 650; letter-spacing: -.02em; }
.full-sheet { scrollbar-width: thin; scrollbar-color: rgba(184,79,105,.48) transparent; }
.full-sheet::-webkit-scrollbar { width: 4px; }
.full-sheet::-webkit-scrollbar-track { background: transparent; }
.full-sheet::-webkit-scrollbar-thumb { border-radius: 999px; background: linear-gradient(#7f2942,#c05a70); }

/* SVIP, withdrawals and readable type scale · v18 */
.eyebrow { font-size: 11px; }
.auth-form label, .checkout-form label, .payment-form label, .profile-edit-form label { font-size: 13px; }
.auth-form input, .auth-form textarea, .auth-form select,
.checkout-form input, .checkout-form textarea, .checkout-form select,
.payment-form input, .payment-form textarea, .payment-form select,
.profile-edit-form input, .profile-edit-form textarea, .profile-edit-form select { font-size: 14px; }
.password-pair label small { font-size: 11px; }
.instant-access-note b { font-size: 13px; }
.membership-pill { font-size: 12px; }
.chip, .date-mode-tabs button { font-size: 12px; }
.status-dot, .card-copy p { font-size: 11px; }
.select-badge, .exchange-badge { font-size: 9px; }
.card-copy h3 { font-size: 21px; }
.safety-note b { font-size: 13px; }
.safety-note p { font-size: 12px; }
.nav-item b { font-size: 11px; }
.conversation-copy p { font-size: 13px; }
.conversation time { font-size: 11px; }
.product-copy small { font-size: 10px; }
.product-copy h3 { font-size: 15px; }
.product-copy p { font-size: 14px; }
.product-copy p span { font-size: 11px; }
.profile-summary-copy p { font-size: 12px; }
.profile-summary-copy span { font-size: 11px; }
.member-card small { font-size: 10px; }
.member-card b { font-size: 18px; }
.member-card em { font-size: 11px; line-height: 1.45; }
.section-label { font-size: 11px; }
.menu-row span { font-size: 15px; }
.menu-row b { font-size: 11px; }
.sheet-head h2, .service-head h2 { font-size: 25px; }
.detail-body > p, .detail-body li { font-size: 13px !important; line-height: 1.75; }
.detail-body h3 { font-size: 15px; }
.tag { font-size: 11px; }
.wallet-section-head h3 { font-size: 17px; }
.wallet-ledger-row b, .deposit-history b { font-size: 13px; }
.wallet-ledger-row small, .deposit-history small { font-size: 11px; line-height: 1.5; }
.wallet-ledger-row > strong, .deposit-history span { font-size: 11px; }
.wallet-footnote, .payment-warning, .wallet-only-note { font-size: 11px; }

.svip-menu-row span { color: #efc18d; }
.svip-menu-row b { color: #c9906c; }
.svip-intro { margin: 0 0 17px; color: #b49b96; font-size: 13px; line-height: 1.75; }
.svip-price-card, .svip-active-card { position: relative; overflow: hidden; display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 10px 0 17px; border: 1px solid rgba(226,178,126,.23); border-radius: 22px; padding: 20px; background: radial-gradient(circle at 90% 10%, rgba(211,76,104,.23), transparent 110px), linear-gradient(130deg,#2b0d18,#51152b); box-shadow: 0 22px 50px rgba(7,0,3,.25); }
.svip-price-card small, .svip-active-card small { color: #d7a66f; font-size: 9px; letter-spacing: .14em; }
.svip-price-card h3, .svip-active-card h3 { margin: 5px 0; color: #f6e1d7; font: 600 21px var(--display); }
.svip-price-card p, .svip-active-card p { margin: 0; color: #ad8f8a; font-size: 12px; }
.svip-price-card > strong { color: #f5dacb; font: 600 31px var(--display); white-space: nowrap; }
.svip-price-card > strong small { font: 700 10px var(--body); }
.svip-active-card > span { display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(235,190,142,.28); border-radius: 50%; color: #2b1018; background: #d6a369; font: 800 12px var(--body); }
.svip-active-card > div { flex: 1; }
.svip-active-card > i { color: #e5b27a; font: 30px var(--display); }
.svip-benefits { margin-bottom: 18px; }
.svip-benefits .benefit { min-height: 48px; }
.svip-benefits .benefit span { font-size: 13px; }
.svip-group-card { display: grid; gap: 14px; border: 1px solid rgba(225,176,125,.18); border-radius: 22px; padding: 18px; background: rgba(91,20,42,.2); }
.svip-group-copy small { color: #d4a36d; font-size: 9px; letter-spacing: .16em; }
.svip-group-copy h3 { margin: 6px 0; color: #f0d9cf; font: 600 21px var(--display); }
.svip-group-copy p { margin: 0; color: #ad9591; font-size: 12px; line-height: 1.7; }
.svip-group-card > img, .svip-qr-empty { width: 160px; height: 160px; justify-self: center; border: 8px solid #f3e8df; border-radius: 18px; object-fit: cover; }
.svip-qr-empty { display: grid; place-items: center; border-color: rgba(237,219,207,.1); color: #a98d86; font-size: 12px; line-height: 1.5; text-align: center; }
.svip-group-account { display: grid; grid-template-columns: 1fr auto; gap: 4px 10px; align-items: center; border: 1px solid rgba(230,190,149,.13); border-radius: 15px; padding: 12px 14px; background: rgba(255,244,238,.035); }
.svip-group-account span { grid-column: 1; color: #9b817d; font-size: 10px; }
.svip-group-account b { grid-column: 1; color: #eed7cd; font-size: 13px; overflow-wrap: anywhere; }
.svip-group-account button { grid-column: 2; grid-row: 1 / 3; border: 0; border-radius: 999px; padding: 8px 12px; color: #edc79f; background: rgba(191,71,94,.26); font-size: 11px; }
.svip-group-link { text-decoration: none; }

.profile-contact-card { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: center; margin: 18px 0; border: 1px solid rgba(221,168,113,.22); border-radius: 18px; padding: 15px; background: linear-gradient(120deg,rgba(107,25,48,.38),rgba(216,166,111,.08)); }
.profile-contact-card small { color: #dda970; font-size: 9px; letter-spacing: .13em; }
.profile-contact-card h3 { margin: 5px 0 !important; color: #f2dbd2; font-size: 16px; }
.profile-contact-card p { margin: 0; color: #d5bcb3; font-size: 13px; white-space: pre-wrap; overflow-wrap: anywhere; }
.profile-contact-card button { border: 1px solid rgba(224,178,130,.22); border-radius: 999px; padding: 9px 12px; color: #f1ca9d; background: rgba(141,38,64,.46); font-size: 11px; }
.locked-contact { grid-template-columns: 1fr; }
.locked-contact button { width: 100%; min-height: 42px; }

.wallet-hero-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.wallet-hero-actions button { width: 100% !important; }
.wallet-hero-actions #wallet-withdraw { color: #eccdaa; background: rgba(218,170,116,.1); border: 1px solid rgba(218,170,116,.24); }
.withdrawal-balance-card { margin-bottom: 16px; border: 1px solid rgba(224,177,128,.18); border-radius: 20px; padding: 18px; background: linear-gradient(130deg,rgba(104,24,47,.34),rgba(218,170,116,.06)); }
.withdrawal-balance-card span { color: #a88e88; font-size: 11px; }
.withdrawal-balance-card strong { display: block; margin: 8px 0; color: #f2ddd4; font: 600 28px var(--display); }
.withdrawal-balance-card strong small { color: #d5a66f; font: 700 10px var(--body); }
.withdrawal-balance-card p { margin: 0; color: #9e8582; font-size: 11px; line-height: 1.6; }
.withdrawal-warning { display: flex; gap: 10px; align-items: flex-start; border: 1px solid rgba(221,168,113,.16); border-radius: 15px; padding: 13px; background: rgba(106,25,47,.17); }
.withdrawal-warning > span { display: grid; width: 28px; height: 28px; flex: 0 0 28px; place-items: center; border-radius: 50%; color: #2b1118; background: #d4a268; font-weight: 800; }
.withdrawal-warning p { margin: 0; }
.withdrawal-warning b, .withdrawal-warning small { display: block; }
.withdrawal-warning b { color: #e8d0c5; font-size: 12px; }
.withdrawal-warning small { margin-top: 4px; color: #a68d89; font-size: 11px; line-height: 1.55; }
.withdrawal-history .approved { color: #78c099; background: rgba(78,141,104,.14); }
.withdrawal-history .rejected { color: #d7909e; background: rgba(172,58,81,.13); }
.withdrawal-history .processing { color: #e0b170; background: rgba(216,165,101,.13); }

/* Payment gateways · v14 */
.tall-sheet.multi-payment-sheet { height: min(760px, 91svh); }
.payment-method-list { display: grid; gap: 10px; }
.payment-method-card { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 82px; padding: 13px; border: 1px solid rgba(255,221,214,.11); border-radius: 19px; background: rgba(255,238,232,.035); }
.payment-method-card .pay-method-mark { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 14px; color: #f6e8df; font: 600 16px var(--display); background: linear-gradient(145deg,#70203a,#2a0c17); box-shadow: inset 0 1px rgba(255,255,255,.08),0 10px 22px rgba(0,0,0,.14); }
.payment-method-card.wechat .pay-method-mark { background: linear-gradient(145deg,#30b96f,#117947); }
.payment-method-card.alipay .pay-method-mark { background: linear-gradient(145deg,#298cf0,#135bb0); }
.payment-method-card.tron .pay-method-mark { background: linear-gradient(145deg,#e63b49,#a9182c); }
.payment-method-card.tether .pay-method-mark { background: linear-gradient(145deg,#2aa68f,#14705f); }
.payment-method-card.binance .pay-method-mark { color: #261b05; background: linear-gradient(145deg,#efc64d,#b9840c); }
.payment-method-card small { color: #b98f75; font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.payment-method-card h3 { margin: 3px 0; color: #f0dcd4; font: 600 14px var(--display); }
.payment-method-card p { margin: 0; color: #927a7a; font-size: 8px; }
.payment-method-card > button { min-height: 34px; border: 1px solid rgba(234,190,151,.2); border-radius: 999px; padding: 0 11px; color: #f2d9c5; background: rgba(139,38,63,.55); font-size: 8px; white-space: nowrap; }
.payment-method-card.wechat > button { border-color: rgba(74,198,129,.23); background: rgba(29,139,79,.28); }
.payment-method-card.alipay > button { border-color: rgba(72,151,231,.25); background: rgba(28,101,177,.28); }
.payment-method-card.tron > button { border-color: rgba(227,65,79,.24); background: rgba(165,24,45,.28); }
.payment-method-card.tether > button { border-color: rgba(55,177,150,.24); background: rgba(20,121,99,.28); }
.payment-method-card.binance > button { border-color: rgba(221,178,57,.26); background: rgba(154,111,13,.28); }
.payment-method-card.disabled { opacity: .5; }
.payment-method-card > button:disabled { cursor: not-allowed; }

.deposit-method-tabs { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 7px; margin-bottom: 13px; }
.deposit-method-tabs button { display: grid; justify-items: center; gap: 4px; min-width: 0; min-height: 78px; border: 1px solid rgba(255,221,214,.1); border-radius: 16px; padding: 9px 5px; color: #9d8582; background: rgba(255,238,232,.025); }
.deposit-method-tabs button > span { display: grid; width: 28px; height: 28px; place-items: center; border-radius: 9px; color: #f0d9ce; background: rgba(125,35,57,.4); font: 13px var(--display); }
.deposit-method-tabs button.wechat > span { background: #17834b; }
.deposit-method-tabs button.alipay > span { background: #1769be; }
.deposit-method-tabs button.tron > span { background: #b92034; }
.deposit-method-tabs button.tether > span { background: #17806d; }
.deposit-method-tabs button.ethereum > span { background: linear-gradient(145deg,#6f739f,#3f426a); }
.deposit-method-tabs button.binance > span { color: #2c2108; background: #d7a72a; }
.deposit-method-tabs button b { max-width: 100%; overflow: hidden; color: #d8c1b9; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.deposit-method-tabs button small { color: #785f63; font-size: 6px; }
.deposit-method-tabs button.active { border-color: rgba(229,179,130,.3); background: linear-gradient(130deg,rgba(128,31,56,.42),rgba(218,170,116,.07)); box-shadow: 0 9px 22px rgba(0,0,0,.13); }
.gateway-deposit-card { margin: 12px 0; padding: 17px; border: 1px solid rgba(255,221,214,.12); border-radius: 20px; background: radial-gradient(circle at 100% 0,rgba(56,171,105,.17),transparent 130px),linear-gradient(140deg,#241015,#11080b); }
.gateway-deposit-card.alipay { background: radial-gradient(circle at 100% 0,rgba(42,126,214,.2),transparent 130px),linear-gradient(140deg,#151528,#0c080e); }
.gateway-deposit-card.tron { background: radial-gradient(circle at 100% 0,rgba(204,39,60,.22),transparent 130px),linear-gradient(140deg,#231019,#0c080e); }
.gateway-deposit-card.tether { background: radial-gradient(circle at 100% 0,rgba(30,145,121,.22),transparent 130px),linear-gradient(140deg,#0d211e,#0c080e); }
.gateway-deposit-card.binance { background: radial-gradient(circle at 100% 0,rgba(213,166,43,.2),transparent 130px),linear-gradient(140deg,#231d0e,#0c080e); }
.gateway-deposit-head { display: flex; align-items: center; gap: 11px; }
.gateway-deposit-head > span { display: grid; width: 40px; height: 40px; place-items: center; border-radius: 13px; color: white; background: #1b9957; font: 16px var(--display); }
.gateway-deposit-card.alipay .gateway-deposit-head > span { background: #1974cf; }
.gateway-deposit-card.tron .gateway-deposit-head > span { background: #bd2438; }
.gateway-deposit-card.tether .gateway-deposit-head > span { background: #17816e; }
.gateway-deposit-card.binance .gateway-deposit-head > span { color: #2c220b; background: #d3a428; }
.gateway-deposit-head small { color: #9f8582; font-size: 7px; letter-spacing: .14em; }
.gateway-deposit-head h3 { margin: 3px 0 0; color: #f0dcd4; font: 15px var(--display); }
.gateway-deposit-card > p { margin: 13px 0 0; color: #927c7c; font-size: 8px; line-height: 1.65; }
.fiat-estimate { display: flex; align-items: center; justify-content: space-between; padding: 13px; border: 1px solid rgba(255,221,214,.1); border-radius: 14px; background: rgba(255,238,232,.035); }
.fiat-estimate span { color: #9b8381; font-size: 8px; }
.fiat-estimate strong { color: #f0d2b4; font: 600 19px var(--display); }
.gateway-submit.wechat { background: linear-gradient(110deg,#167b48,#29a965); }
.gateway-submit.alipay { background: linear-gradient(110deg,#135eae,#2588e5); }
.gateway-submit.tron { background: linear-gradient(110deg,#95182b,#d83b4e); }
.gateway-submit.tether { background: linear-gradient(110deg,#126b5b,#28a28a); }
.gateway-submit.binance { color: #261d08; background: linear-gradient(110deg,#ae7f13,#e0b43a); }
.deposit-history .pending_payment { color: #8fb5ce; background: rgba(65,133,181,.11); }
.deposit-history .payment_failed { color: #dc8294; background: rgba(196,72,97,.11); }

.custom-payment-methods { display: grid; gap: 9px; }
.custom-gateway-button { display: grid; grid-template-columns: 35px 1fr auto; gap: 10px; align-items: center; width: 100%; min-height: 57px; border: 1px solid rgba(255,221,214,.12); border-radius: 15px; padding: 9px 12px; color: #f0ddd5; text-align: left; background: rgba(255,238,232,.035); }
.custom-gateway-button > span { display: grid; width: 35px; height: 35px; place-items: center; border-radius: 11px; color: white; background: #188d50; }
.custom-gateway-button.alipay > span { background: #176fc9; }
.custom-gateway-button.tron > span { background: #bd2438; }
.custom-gateway-button.tether > span { background: #17816e; }
.custom-gateway-button.binance > span { color: #2c220b; background: #d3a428; }
.custom-gateway-button small, .custom-gateway-button b { display: block; }
.custom-gateway-button small { color: #9c817f; font-size: 6px; letter-spacing: .12em; }
.custom-gateway-button b { margin-top: 3px; color: #ead4cb; font-size: 8px; }
.custom-gateway-button i { color: #d9ab79; font-style: normal; }
.custom-gateway-button:disabled { opacity: .45; }
.custom-paid-seal.pending > span { color: #8db6cf; background: rgba(66,133,178,.13); }

/* Private atelier · v13 */
.custom-atelier-entry { position: relative; display: flex; align-items: center; gap: 12px; width: 100%; overflow: hidden; margin: 14px 0 16px; border: 1px solid rgba(232,187,139,.22); border-radius: 21px; padding: 15px; color: #f7e7df; text-align: left; background: radial-gradient(circle at 90% 20%, rgba(205,83,104,.3), transparent 34%), linear-gradient(125deg, #361020, #16080e 62%, #2b0c1a); box-shadow: 0 16px 36px rgba(3,0,1,.25), inset 0 1px rgba(255,238,226,.055); cursor: pointer; }
.custom-atelier-entry::after { content: "定制工坊"; position: absolute; right: -5px; bottom: -8px; color: rgba(239,190,145,.045); font: 700 32px/1 var(--display); letter-spacing: .1em; pointer-events: none; }
[lang="en"] .custom-atelier-entry::after { content: "ATELIER"; }
[lang="hi-IN"] .custom-atelier-entry::after { content: "कस्टम"; }
[lang="pt-BR"] .custom-atelier-entry::after { content: "ATELIÊ"; }
.custom-atelier-entry > span:nth-child(2) { position: relative; z-index: 1; flex: 1; min-width: 0; }
.custom-atelier-mark { position: relative; z-index: 1; display: grid; width: 42px; height: 42px; flex: 0 0 42px; place-items: center; border: 1px solid rgba(232,185,137,.33); border-radius: 14px; color: #e6af76; background: linear-gradient(145deg, rgba(129,34,58,.68), rgba(43,12,26,.8)); font: 24px var(--display); box-shadow: inset 0 1px rgba(255,235,218,.08), 0 9px 20px rgba(0,0,0,.2); }
.custom-atelier-entry small, .custom-atelier-entry b, .custom-atelier-entry em { display: block; }
.custom-atelier-entry small { color: #d7a16e; font-size: 6px; letter-spacing: .18em; }
.custom-atelier-entry > span b { margin: 4px 0; color: #fff0e8; font: 600 13px var(--display); }
.custom-atelier-entry em { color: #a98e8b; font-size: 8px; font-style: normal; line-height: 1.5; }
.custom-atelier-entry > i { position: relative; z-index: 1; display: flex; align-items: center; gap: 5px; color: #e3b17e; font-size: 15px; font-style: normal; }
.custom-atelier-entry > i b { display: grid; min-width: 20px; height: 20px; place-items: center; border-radius: 50%; color: #32101b; background: #dda66f; font-size: 8px; }
.custom-atelier-entry:active { transform: scale(.985); }

.custom-service-head { margin-bottom: 14px; }
.custom-atelier-hero { position: relative; display: flex; align-items: flex-start; gap: 14px; overflow: hidden; padding: 20px; border: 1px solid rgba(227,180,133,.2); border-radius: 24px; background: radial-gradient(circle at 92% 12%, rgba(199,72,96,.3), transparent 39%), linear-gradient(135deg, #351020, #12070b 68%); box-shadow: 0 20px 45px rgba(2,0,1,.3); }
.custom-atelier-hero::after { content: "◇"; position: absolute; right: -18px; bottom: -48px; color: rgba(229,176,122,.065); font: 142px/1 var(--display); }
.custom-atelier-hero > span { position: relative; z-index: 1; display: grid; width: 43px; height: 43px; flex: 0 0 43px; place-items: center; border: 1px solid rgba(232,186,137,.28); border-radius: 50%; color: #e0a970; font-size: 23px; }
.custom-atelier-hero div { position: relative; z-index: 1; }
.custom-atelier-hero small { color: #c99168; font-size: 6px; letter-spacing: .18em; }
.custom-atelier-hero h3 { margin: 7px 0 6px; color: #f8e7df; font: 600 20px var(--display); }
.custom-atelier-hero p { margin: 0; color: #af9691; font-size: 9px; line-height: 1.7; }
.custom-create-button { margin: 13px 0 20px; }
.custom-request-list { display: grid; gap: 8px; }
.custom-request-row { display: flex; align-items: center; gap: 11px; width: 100%; border: 1px solid rgba(255,221,214,.11); border-radius: 16px; padding: 10px; color: #efdcd4; text-align: left; background: rgba(255,238,232,.035); }
.custom-request-cover { display: grid; width: 48px; height: 48px; flex: 0 0 48px; overflow: hidden; place-items: center; border-radius: 13px; color: #d5a16c; background: linear-gradient(135deg, #4a1329, #1d0a11); font-size: 22px; }
.custom-request-cover img { width: 100%; height: 100%; object-fit: cover; }
.custom-request-row > span:nth-child(2) { flex: 1; min-width: 0; }
.custom-request-row b, .custom-request-row small { display: block; }
.custom-request-row b { overflow: hidden; color: #f4e2da; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.custom-request-row small { margin-top: 5px; color: #927b7b; font-size: 7px; }
.custom-request-row em { flex: 0 0 auto; color: #d0a173; font-size: 8px; font-style: normal; }
.custom-request-row em.paid, .custom-request-row em.in_production, .custom-request-row em.shipped, .custom-request-row em.completed { color: #91baa3; }
.custom-empty { padding: 36px 15px; text-align: center; }
.custom-empty > span { display: grid; width: 50px; height: 50px; margin: 0 auto 12px; place-items: center; border: 1px solid rgba(222,174,126,.2); border-radius: 50%; color: #d6a36d; font-size: 24px; }
.custom-empty h3 { margin: 0 0 7px; color: #f2ded6; font: 600 16px var(--display); }
.custom-empty p { margin: 0; color: #9b8583; font-size: 9px; line-height: 1.7; }

.custom-request-form, .custom-payment-form { display: grid; gap: 12px; }
.custom-request-form label, .custom-payment-form label { color: #bca4a0; font-size: 9px; }
.custom-request-form input, .custom-request-form select, .custom-request-form textarea,
.custom-payment-form input, .custom-payment-form textarea { width: 100%; margin-top: 6px; border: 1px solid rgba(255,221,214,.14); border-radius: 13px; padding: 12px; outline: none; color: #f3e1d9; background: rgba(255,238,232,.05); font: 10px var(--body); }
.custom-request-form select { width: 100%; margin-top: 6px; border: 1px solid rgba(255,221,214,.14); border-radius: 13px; padding: 12px; outline: none; color: #f3e1d9; background: #241017; font: 10px var(--body); }
.custom-request-form textarea, .custom-payment-form textarea { resize: vertical; line-height: 1.6; }
.custom-image-upload { display: flex; align-items: center; gap: 12px; min-height: 70px; border: 1px dashed rgba(227,178,130,.27); border-radius: 17px; padding: 13px; background: rgba(108,26,47,.12); cursor: pointer; }
.custom-image-upload > span { display: grid; width: 39px; height: 39px; place-items: center; border-radius: 13px; color: #e1ad76; background: rgba(208,79,103,.13); font-size: 20px; }
.custom-image-upload b, .custom-image-upload small { display: block; }
.custom-image-upload b { color: #e9d4ca; font-size: 10px; }
.custom-image-upload small { margin-top: 4px; color: #8f7777; font-size: 7px; }
.custom-image-upload input, .custom-message-image input { display: none; }
.custom-image-preview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.custom-image-preview:empty { display: none; }
.custom-image-preview img { width: 100%; aspect-ratio: 1.25; border: 1px solid rgba(225,176,126,.16); border-radius: 14px; object-fit: cover; }

.custom-request-summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 13px; padding: 13px 15px; border: 1px solid rgba(255,221,214,.11); border-radius: 16px; background: rgba(255,238,232,.035); }
.custom-request-summary small, .custom-request-summary b { display: block; }
.custom-request-summary small { color: #c08c69; font-size: 7px; }
.custom-request-summary b { margin-top: 4px; color: #ddc6bd; font-size: 9px; }
.custom-request-summary > span { padding: 6px 9px; border-radius: 999px; color: #e1af7b; background: rgba(218,166,111,.09); font-size: 7px; font-weight: 700; }
.custom-request-summary > span.paid, .custom-request-summary > span.in_production, .custom-request-summary > span.shipped, .custom-request-summary > span.completed { color: #a9ceb9; background: rgba(104,158,130,.11); }

.custom-quote-card { position: relative; overflow: hidden; margin-bottom: 15px; padding: 20px; border: 1px solid rgba(232,185,137,.25); border-radius: 23px; background: radial-gradient(circle at 90% 8%, rgba(198,75,98,.34), transparent 32%), linear-gradient(140deg, #3b1022, #15070d 64%, #260b17); box-shadow: 0 21px 48px rgba(2,0,1,.3); }
.custom-quote-card::after { content: "报价"; position: absolute; right: -8px; top: 56px; color: rgba(235,186,139,.04); font: 700 44px var(--display); letter-spacing: .08em; transform: rotate(-8deg); }
[lang="en"] .custom-quote-card::after { content: "QUOTE"; }
[lang="hi-IN"] .custom-quote-card::after { content: "मूल्य"; }
[lang="pt-BR"] .custom-quote-card::after { content: "COTAÇÃO"; }
.custom-quote-card > * { position: relative; z-index: 1; }
.custom-quote-top { display: flex; align-items: flex-start; justify-content: space-between; }
.custom-quote-top small, .custom-quote-top b { display: block; }
.custom-quote-top small { color: #cf966b; font-size: 6px; letter-spacing: .18em; }
.custom-quote-top b { margin-top: 4px; color: #ebd7cd; font-size: 10px; }
.custom-quote-top em { padding: 5px 8px; border-radius: 999px; color: #e9b986; background: rgba(221,166,111,.1); font-size: 7px; font-style: normal; }
.custom-quote-card > strong { display: block; margin: 22px 0 8px; color: #fff0e8; font: 500 43px/1 var(--display); letter-spacing: -.035em; }
.custom-quote-card > strong small { color: #d5a06c; font: 700 9px var(--body); }
.custom-quote-card > p { margin: 0 0 15px; color: #ad9290; font-size: 8px; line-height: 1.6; }
.custom-wallet-balance { display: flex; justify-content: space-between; padding: 11px 0; border-top: 1px solid rgba(255,221,214,.1); border-bottom: 1px solid rgba(255,221,214,.1); color: #a78c89; font-size: 8px; }
.custom-wallet-balance b { color: #e5c8bb; }
.custom-pay-button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 58px; margin-top: 3px; border: 1px solid rgba(246,205,165,.34); border-radius: 16px; padding: 0 16px; color: #fff6ef; text-align: left; background: linear-gradient(105deg, #a83251, #d6586e 68%, #d78a78); box-shadow: 0 14px 30px rgba(112,20,48,.38), inset 0 1px rgba(255,241,230,.22); }
.custom-pay-button small, .custom-pay-button b { display: block; }
.custom-pay-button small { color: rgba(255,239,229,.72); font-size: 6px; letter-spacing: .16em; }
.custom-pay-button b { margin-top: 5px; color: #fff; font-size: 12px; }
.custom-pay-button i { font-size: 21px; font-style: normal; }
.custom-pay-button:active { transform: translateY(1px) scale(.992); }
.custom-pay-button.insufficient { color: #d7bdb3; background: rgba(255,238,232,.08); box-shadow: none; }
.custom-paid-seal { display: flex; align-items: center; gap: 11px; margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(211,233,219,.12); }
.custom-paid-seal > span { display: grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; color: #b6d9c5; background: rgba(105,160,132,.13); }
.custom-paid-seal b, .custom-paid-seal small { display: block; }
.custom-paid-seal b { color: #d8e8df; font-size: 9px; }
.custom-paid-seal small { margin-top: 4px; color: #859c8e; font-size: 7px; }
.custom-quote-card.settled { border-color: rgba(116,170,141,.23); background: radial-gradient(circle at 90% 10%, rgba(93,148,119,.24), transparent 34%), linear-gradient(140deg, #183027, #0b1712 68%); }

.custom-conversation { display: grid; gap: 9px; padding: 2px 0 15px; }
.custom-message { width: 88%; border: 1px solid rgba(255,221,214,.1); border-radius: 17px 17px 17px 5px; padding: 11px; background: rgba(255,238,232,.055); }
.custom-message.user { justify-self: end; border-color: rgba(207,82,106,.22); border-radius: 17px 17px 5px 17px; background: linear-gradient(120deg, rgba(136,37,62,.58), rgba(190,69,93,.32)); }
.custom-message > div { display: flex; justify-content: space-between; gap: 10px; }
.custom-message b { color: #d8b7ab; font-size: 7px; }
.custom-message time { color: #806c6d; font-size: 6px; }
.custom-message p { margin: 8px 2px 1px; color: #d6c0b8; font-size: 9px; line-height: 1.7; white-space: pre-wrap; }
.custom-message.user p { color: #fff0e8; }
.custom-message img { display: block; width: 100%; max-height: 270px; margin-top: 9px; border-radius: 13px; object-fit: cover; }
.custom-message-form { position: sticky; bottom: -20px; display: grid; gap: 8px; margin: 0 -18px -20px; padding: 12px 18px calc(16px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,221,214,.1); background: rgba(20,7,12,.96); backdrop-filter: blur(20px); }
.custom-message-form textarea { width: 100%; border: 1px solid rgba(255,221,214,.14); border-radius: 14px; padding: 11px; outline: none; resize: none; color: #f2dfd8; background: rgba(255,238,232,.055); font: 9px/1.6 var(--body); }
.custom-message-form > div { display: flex; align-items: center; justify-content: space-between; gap: 9px; }
.custom-message-image { min-height: 35px; display: flex; align-items: center; border: 1px solid rgba(255,221,214,.13); border-radius: 11px; padding: 0 12px; color: #c19b8c; background: rgba(255,238,232,.035); font-size: 8px; }
.custom-message-form button { min-width: 94px; min-height: 36px; border: 1px solid rgba(236,193,151,.22); border-radius: 11px; color: #fff1e9; background: linear-gradient(110deg, #8c2944, #cf5269); font-size: 9px; font-weight: 700; }
.custom-message-form button span { margin-left: 8px; font-size: 14px; }

.meeting-deposit-user > button.deposit-primary-payment { min-height: 58px; padding: 0 16px; border-color: rgba(246,205,165,.34); border-radius: 16px; color: #fff8f2; text-align: left; background: linear-gradient(105deg, #a83251, #d6586e 68%, #d78a78); box-shadow: 0 14px 30px rgba(112,20,48,.38), inset 0 1px rgba(255,241,230,.22); }
.deposit-primary-payment > span { display: block; }
.deposit-primary-payment small, .deposit-primary-payment b { display: block; }
.deposit-primary-payment small { color: rgba(255,239,229,.72); font-size: 6px; letter-spacing: .16em; }
.deposit-primary-payment b { margin-top: 5px; color: #fff; font-size: 12px; }
.deposit-primary-payment i { font-size: 21px; font-style: normal; }

/* Meeting deposit card · v12 */
.conversation-avatar .request-state.deposit_pending { background: #dda66f; box-shadow: 0 0 12px rgba(221,166,111,.86); }
.meeting-deposit-user { position: relative; overflow: hidden; margin: 14px 0; padding: 18px; border: 1px solid rgba(225,177,126,.27); border-radius: 22px; color: #f7e5dc; background: radial-gradient(circle at 92% 8%, rgba(214,83,108,.35), transparent 130px), linear-gradient(145deg, #3c0e21, #19080f 64%, #2b0b18); box-shadow: 0 20px 42px rgba(4,0,2,.28), inset 0 1px rgba(255,238,226,.055); }
.meeting-deposit-user::after { content: "◇"; position: absolute; z-index: 0; right: -15px; bottom: -45px; color: rgba(239,193,150,.055); font: 140px/1 var(--display); }
.meeting-deposit-user > * { position: relative; z-index: 1; }
.deposit-kicker { display: flex; align-items: center; gap: 8px; }
.deposit-kicker > span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(230,188,145,.3); border-radius: 50%; color: #e4b37c; }
.deposit-kicker small { flex: 1; color: #ca9a78; font-size: 7px; letter-spacing: .16em; }
.deposit-kicker em { padding: 5px 8px; border-radius: 999px; color: #f0c99f; background: rgba(218,163,105,.1); font-size: 7px; font-style: normal; }
.deposit-amount { display: flex; align-items: baseline; gap: 8px; margin: 20px 0 8px; }
.deposit-amount strong { color: #fff0e8; font: 500 42px/1 var(--display); letter-spacing: -.035em; }
.deposit-amount span { color: #d5a06d; font-size: 9px; font-weight: 800; }
.meeting-deposit-user > p { margin: 0 0 14px; color: #b99d99; font-size: 9px; line-height: 1.7; }
.deposit-wallet-line { display: flex; justify-content: space-between; margin: 0 0 10px; padding: 11px 0; border-top: 1px solid rgba(255,221,214,.1); color: #9b8080; font-size: 8px; }
.deposit-wallet-line b { color: #e5c9bd; }
.meeting-deposit-user > button { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 43px; border: 1px solid rgba(236,196,153,.25); border-radius: 13px; padding: 0 14px; color: #fff0e7; background: linear-gradient(110deg, #8d2944, #c94e66); box-shadow: 0 10px 25px rgba(80,14,36,.25); font-size: 9px; font-weight: 800; }
.meeting-deposit-user > button span { font-size: 16px; }
.deposit-disclaimer { display: block; margin-top: 11px; color: #725b5f; font-size: 7px; line-height: 1.55; }
.meeting-deposit-user.paid { border-color: rgba(121,173,145,.25); background: radial-gradient(circle at 90% 10%, rgba(95,145,117,.25), transparent 130px), linear-gradient(145deg, #193127, #0d1813 68%, #16271f); }
.meeting-deposit-user.paid .deposit-kicker em { color: #abd0ba; background: rgba(104,158,130,.11); }
.deposit-receipt { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding-top: 12px; border-top: 1px solid rgba(203,232,216,.11); }
.deposit-receipt > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #b7dbc6; background: rgba(111,168,137,.12); }
.deposit-receipt b, .deposit-receipt small { display: block; }
.deposit-receipt b { color: #d5e6dd; font-size: 8px; }
.deposit-receipt small { margin-top: 3px; color: #779382; font-size: 7px; }
.deposit-cancelled-note { display: flex; align-items: center; gap: 10px; margin-top: 12px; padding: 12px; border: 1px solid rgba(202,164,150,.12); border-radius: 13px; color: #bda6a0; background: rgba(255,239,232,.035); font-size: 8px; }
.deposit-cancelled-note::before { content: "\2715"; display: grid; width: 25px; height: 25px; flex: 0 0 25px; place-items: center; border-radius: 50%; color: #b28d88; background: rgba(192,151,142,.08); }
.concierge-notice { display: flex; align-items: flex-start; gap: 11px; margin: 15px 0; padding: 13px; border: 1px solid rgba(218,170,116,.2); border-radius: 16px; background: linear-gradient(110deg, rgba(112,27,49,.25), rgba(218,170,116,.05)); }
.concierge-notice > span { display: grid; width: 31px; height: 31px; flex: 0 0 31px; place-items: center; border: 1px solid rgba(218,170,116,.28); border-radius: 50%; color: #e0af78; }
.concierge-notice p { margin: 0; }
.concierge-notice b, .concierge-notice small { display: block; }
.concierge-notice b { color: #f1ddd4; font-size: 10px; }
.concierge-notice small { margin-top: 4px; color: #a9918e; font-size: 8px; line-height: 1.65; }
.date-consent-card { position: relative; display: grid; grid-template-columns: 30px minmax(0,1fr); min-height: 78px; align-items: center; gap: 12px; margin: 1px 0 3px; border: 1px solid rgba(236,194,157,.24); border-radius: 17px; padding: 13px 14px; color: #f5e5dc; background: linear-gradient(112deg,rgba(110,29,50,.42),rgba(255,238,232,.035)); box-shadow: inset 0 1px rgba(255,255,255,.035); cursor: pointer; transition: border-color .18s ease,background .18s ease,transform .18s ease; }
.date-consent-card:active { transform: scale(.992); }
.date-consent-card input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; }
.date-consent-check { position: relative; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid rgba(238,199,164,.48); border-radius: 10px; color: #31101b; background: rgba(255,238,232,.055); box-shadow: 0 5px 16px rgba(0,0,0,.16); transition: border-color .18s ease,background .18s ease,box-shadow .18s ease; }
.date-consent-check::after { content: "✓"; opacity: 0; font-size: 17px; font-weight: 800; transform: scale(.65); transition: opacity .16s ease,transform .16s ease; }
.date-consent-copy, .date-consent-copy b, .date-consent-copy small { display: block; }
.date-consent-copy b { color: #ffe9dd; font-size: 14px; line-height: 1.35; }
.date-consent-copy small { margin-top: 5px; color: #c5aaa3; font-size: 12px; line-height: 1.55; }
.date-consent-card input:checked + .date-consent-check { border-color: #ecc28e; background: linear-gradient(145deg,#f0c99b,#d89a62); box-shadow: 0 7px 20px rgba(211,145,87,.24); }
.date-consent-card input:checked + .date-consent-check::after { opacity: 1; transform: scale(1); }
.date-consent-card input:focus-visible + .date-consent-check { outline: 2px solid rgba(244,201,157,.86); outline-offset: 3px; }
.date-consent-card:has(input:checked) { border-color: rgba(232,181,128,.5); background: linear-gradient(112deg,rgba(132,38,62,.6),rgba(96,29,47,.2)); }
.request-target { display: flex; align-items: center; gap: 11px; margin-bottom: 15px; padding: 11px; border: 1px solid rgba(218,170,116,.14); border-radius: 17px; background: rgba(255,238,232,.035); }
.request-target img { width: 52px; height: 62px; border-radius: 14px; object-fit: cover; }
.request-target div { flex: 1; min-width: 0; }
.request-target b, .request-target small { display: block; }
.request-target b { color: #f2dfd7; font: 600 13px var(--display); }
.request-target small { margin-top: 5px; color: #a9918e; font-size: 8px; }
.request-target > span { padding: 6px 8px; border-radius: 999px; color: #e1b583; background: rgba(218,170,116,.09); font-size: 7px; }
.date-request-row .conversation-copy h3 { display: flex; align-items: center; gap: 7px; }
.date-request-row .conversation-copy h3 em { padding: 4px 7px; border-radius: 999px; color: #dcb182; background: rgba(218,170,116,.09); font: 700 7px var(--body); font-style: normal; white-space: nowrap; }
.conversation-avatar .request-state { width: 11px; height: 11px; }
.conversation-avatar .request-state.waiting_user { background: #d85d73; box-shadow: 0 0 11px rgba(216,93,115,.8); }
.conversation-avatar .request-state.confirmed { background: #79ad91; }
.conversation-avatar .request-state.declined,
.conversation-avatar .request-state.cancelled,
.conversation-avatar .request-state.completed { background: #796c6e; }
.concierge-label { flex: 0 0 auto; padding: 6px 8px; border: 1px solid rgba(218,170,116,.22); border-radius: 999px; color: #e0b17e; font-size: 7px; }
.request-summary { position: relative; margin-bottom: 14px; padding: 14px; border: 1px solid rgba(218,170,116,.16); border-radius: 16px; background: rgba(101,24,45,.17); }
.request-summary small { color: #c7946e; font-size: 7px; letter-spacing: .13em; }
.request-summary p { margin: 6px 0 0; color: #ead7cf; font-size: 10px; }
.request-summary > span { position: absolute; right: 12px; top: 12px; padding: 5px 7px; border-radius: 999px; color: #dfb481; background: rgba(218,170,116,.1); font-size: 7px; }
.message.concierge { color: #351720; background: linear-gradient(130deg, #f0d8cd, #e7cbbf); }
.message.concierge b { display: block; margin-bottom: 4px; color: #9a3c55; font-size: 8px; }
.request-closed { position: fixed; left: 50%; bottom: 0; width: min(520px,100%); transform: translateX(-50%); padding: 15px 18px calc(15px + env(safe-area-inset-bottom)); border-top: 1px solid rgba(255,221,214,.1); color: #9f8887; background: rgba(20,7,12,.96); font-size: 9px; text-align: center; }

@media (max-width: 365px) {
  .auth-copy h1 { font-size: 33px; }
  .profile-stack { grid-auto-rows: 198px; }
  .profile-card:nth-child(4n) { height: 230px; }
  .app-shell { padding-left: 13px; padding-right: 13px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* HushTryst · sensual interface foundation */
body {
  --muted: #b9a7a4;
  --line: rgba(255, 220, 214, .13);
  --wine: #c44861;
  --wine-deep: #8e2d45;
  --brass: #d4a56d;
  color: #f6e7df;
  background:
    radial-gradient(ellipse at 16% 6%, rgba(187, 47, 76, .32), transparent 34rem),
    radial-gradient(ellipse at 100% 62%, rgba(105, 27, 52, .28), transparent 29rem),
    #10070a;
}
body::before {
  content: "";
  position: fixed;
  z-index: -1;
  inset: -25% -40%;
  pointer-events: none;
  opacity: .55;
  background:
    linear-gradient(118deg, transparent 38%, rgba(167, 41, 67, .17) 45%, rgba(70, 12, 28, .06) 51%, transparent 58%),
    repeating-radial-gradient(ellipse at 50% 0%, transparent 0 34px, rgba(255,255,255,.015) 35px 36px);
  transform: rotate(-8deg);
}
button:focus-visible, a:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible { outline: 2px solid rgba(218,170,116,.72); outline-offset: 2px; }
.nav-item:focus-visible { border-radius: 12px; outline-color: rgba(218,170,116,.48); }
.ambient-one { border-color: rgba(212,165,109,.22); box-shadow: inset 0 0 55px rgba(196,72,97,.11); }
.ambient-two { border-color: rgba(196,72,97,.18); }

.auth-view {
  background:
    radial-gradient(ellipse at 52% 21%, rgba(143,37,61,.52), transparent 24%),
    linear-gradient(145deg, #16090e 0%, #0c0608 63%, #220a13 100%);
}
.auth-view::before {
  content: "";
  position: absolute;
  z-index: 0;
  width: 520px;
  height: 240px;
  left: -120px;
  top: 12%;
  border-radius: 50%;
  border: 1px solid rgba(218,170,116,.18);
  transform: rotate(-18deg);
  box-shadow: 0 0 100px rgba(142,34,58,.14), inset 0 0 70px rgba(255,255,255,.018);
}
.auth-view::after { width: 410px; height: 410px; left: -250px; border-color: rgba(199,75,99,.18); }
.auth-art { height: 46%; }
.orbit-a { width: 302px; height: 220px; border-color: rgba(222,173,117,.31); transform: translate(-50%,-50%) rotate(-13deg); box-shadow: inset 0 0 55px rgba(137,29,53,.11); }
.orbit-a::after { content: ""; position: absolute; inset: 22px; border: 1px solid rgba(218,170,116,.11); border-radius: 50%; transform: rotate(24deg); }
.orbit-b { width: 196px; height: 226px; border-radius: 48% 52% 46% 54%; background: radial-gradient(circle at 42% 28%, #94324c, #3a0e1d 52%, #15090d 78%); box-shadow: 0 0 90px rgba(190,53,81,.36); }
.monogram { color: #f2d9ca; text-shadow: 0 0 34px rgba(255,195,174,.18); }
.auth-copy h1 { font-size: 40px; color: #fff1e9; }
.auth-copy h1 em { color: #dcb17b; text-shadow: 0 5px 25px rgba(220,177,123,.18); }
.auth-copy > p:last-child { color: #b8a29f; }
.auth-form input, .auth-form textarea, .auth-form select { border-color: rgba(255,222,215,.18); color: #f8e9e1; background: rgba(255,240,234,.055); box-shadow: inset 0 1px rgba(255,255,255,.025); }
.auth-form input:focus, .auth-form textarea:focus, .auth-form select:focus { border-color: rgba(220,170,112,.75); background: rgba(100,28,45,.18); box-shadow: 0 0 0 3px rgba(196,72,97,.08); }
.primary-button { background: linear-gradient(120deg, #8f2942, #d4566d 72%, #c68773); box-shadow: 0 15px 35px rgba(143,41,66,.34), inset 0 1px rgba(255,255,255,.18); }
.primary-button span { color: #f8d5bd; }
.auth-form .auth-upload { border-color: rgba(218,170,116,.28); background: rgba(104,27,44,.14); }

.app-shell {
  background:
    radial-gradient(ellipse at 94% 5%, rgba(165,42,70,.27), transparent 230px),
    radial-gradient(ellipse at -12% 55%, rgba(95,20,43,.25), transparent 280px),
    linear-gradient(180deg, #180a10, #0f070a 62%, #16090e);
  box-shadow: 0 28px 95px rgba(26, 4, 12, .48);
  overflow: hidden;
}
.app-shell::before {
  content: "";
  position: absolute;
  width: 330px;
  height: 180px;
  right: -170px;
  top: 72px;
  border: 1px solid rgba(218,170,116,.12);
  border-radius: 50%;
  transform: rotate(-24deg);
  pointer-events: none;
}
.app-header { position: sticky; top: 0; z-index: 25; margin: 0 -18px; padding: 0 18px; height: 58px; background: linear-gradient(180deg, rgba(21,8,13,.96), rgba(21,8,13,.72) 75%, transparent); backdrop-filter: blur(15px); }
.brand { color: #f6e5dc; }
.brand span { color: #f9ded1; background: linear-gradient(145deg, #7e223b, #35101d); border: 1px solid rgba(218,170,116,.35); box-shadow: 0 0 25px rgba(184,57,85,.22); }
.membership-pill { border-color: rgba(218,170,116,.26); color: #e6bd8a; background: linear-gradient(110deg, rgba(105,27,47,.44), rgba(197,72,97,.12)); }
.icon-button, .round-button { color: #efdcd3; border-color: rgba(255,221,214,.13); background: rgba(255,238,232,.055); }
.screen { color: #f3e4dd; }
.date-intro { align-items: center; margin: 5px 0 18px; }
.date-intro h2, .section-heading h2 { color: #fff0e8; font-size: 30px; text-shadow: 0 8px 30px rgba(196,72,97,.18); }
.eyebrow { color: #d7a36a; }
.chip { border-color: rgba(255,221,214,.14); color: #bca6a3; background: rgba(255,238,232,.025); }
.chip.active { border-color: rgba(218,170,116,.44); color: #fff0e8; background: linear-gradient(120deg, #792139, #b83f59); box-shadow: 0 8px 24px rgba(137,32,57,.24); }

.profile-stack {
  position: relative;
  display: flex;
  grid-template-columns: none;
  grid-auto-rows: auto;
  gap: 13px;
  min-height: 522px;
  margin: 0 -18px 0 0;
  padding: 67px 28px 8px 0;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
.profile-stack > .regional-catalog-note {
  position: absolute;
  z-index: 6;
  top: 0;
  right: 18px;
  left: 0;
  margin: 0;
}
.profile-stack::-webkit-scrollbar { display: none; }
.profile-card,
.profile-card:nth-child(3n + 1),
.profile-card:nth-child(4n) {
  flex: 0 0 min(79vw, 350px);
  width: auto;
  height: 510px;
  grid-row: auto;
  grid-column: auto;
  border-radius: 28px;
  scroll-snap-align: start;
  background: #2a1119;
  box-shadow: 0 22px 48px rgba(3,0,1,.36), 0 0 0 1px rgba(218,170,116,.13);
}
.profile-card::before { content: ""; position: absolute; z-index: 2; inset: 8px; border: 1px solid rgba(255,231,216,.13); border-radius: 22px; pointer-events: none; }
.profile-card::after { inset: 35% 0 0; background: linear-gradient(transparent, rgba(31,7,17,.24) 25%, rgba(13,4,8,.95)); }
.profile-card img { filter: saturate(.82) contrast(1.04) sepia(.08); }
.profile-card:not(.locked):hover img { transform: scale(1.045); filter: saturate(.95) contrast(1.03); }
.profile-card.locked img { filter: blur(15px) saturate(.55) sepia(.18); }
.profile-load-more {
  display: grid;
  flex: 0 0 128px;
  min-height: 510px;
  place-content: center;
  gap: 8px;
  border: 1px solid rgba(218,170,116,.18);
  border-radius: 28px;
  padding: 18px;
  color: #ead7cd;
  background: linear-gradient(145deg,rgba(106,28,49,.34),rgba(27,9,15,.94));
  scroll-snap-align: start;
  text-align: center;
}
.profile-load-more span { display: grid; width: 42px; height: 42px; place-items: center; margin: 0 auto 4px; border: 1px solid rgba(230,183,134,.28); border-radius: 50%; color: #dfa96f; font-size: 20px; }
.profile-load-more b { font-size: 13px; }
.profile-load-more small { color: #9f8582; font-size: 11px !important; }
.card-topline { top: 18px; left: 18px; right: 18px; }
.status-dot { padding: 6px 9px; background: rgba(24,5,13,.57); color: #f7e5dc; }
.status-dot::before { background: #dc8e96; box-shadow: 0 0 0 3px rgba(220,142,150,.13), 0 0 13px rgba(220,142,150,.5); }
.select-badge { color: #3a1c17; background: linear-gradient(110deg, #e6c28f, #bd8660); box-shadow: 0 7px 20px rgba(32,8,14,.22); }
.card-copy { left: 24px; right: 24px; bottom: 28px; }
.card-copy h3 { margin-bottom: 7px; color: #fff1e8; font-size: 29px; letter-spacing: -.02em; }
.card-copy h3 span { font-size: 13px; color: #d8bbb0; }
.card-copy p { color: #d3b8b0; font-size: 11px; opacity: .86; letter-spacing: .03em; }
.verify-mark { background: #a34458; box-shadow: 0 0 12px rgba(196,72,97,.34); }
.lock-center span { width: 52px; height: 52px; border-color: rgba(222,177,126,.4); background: rgba(81,18,38,.52); box-shadow: 0 0 32px rgba(187,52,81,.24); }
.lock-center b { color: #f6dfd3; }
.safety-note { border-color: rgba(216,165,111,.16); color: #bba6a0; background: linear-gradient(110deg, rgba(105,25,46,.2), rgba(255,238,232,.03)); }
.safety-note b { color: #eedbd2; }
.safety-note > span { color: #d8a46c; }

.bottom-nav { border-top-color: rgba(255,221,214,.1); background: rgba(18,7,11,.92); box-shadow: 0 -16px 45px rgba(6,1,3,.22); }
.nav-item { color: #826f70; }
.nav-item.active { color: #e8b39e; }
.nav-item.active span { text-shadow: 0 0 16px rgba(196,72,97,.7); }
.nav-item i { border: 2px solid #17090e; background: #d6576d; }

.conversation { border-bottom-color: rgba(255,221,214,.1); }
.conversation-copy h3 { color: #f5e6df; }
.conversation-copy p, .conversation time { color: #a99290; }
.conversation-avatar { box-shadow: 0 0 0 1px rgba(220,174,119,.18); }
.count-badge { background: linear-gradient(135deg, #8a2741, #d25369); }
.empty-state { color: #a89290; }
.empty-state h3 { color: #f3dfd7; }

.shop-hero { border: 1px solid rgba(218,170,116,.18); background: linear-gradient(135deg, #2a0d18, #10070b 58%, #4f1328); box-shadow: 0 22px 50px rgba(3,0,1,.3); }
.shop-hero::after { content: ""; position: absolute; width: 230px; height: 110px; left: -80px; bottom: -63px; border: 1px solid rgba(220,174,119,.18); border-radius: 50%; transform: rotate(12deg); }
.shop-hero h2 { color: #fff0e8; font-size: 31px; }
.shop-hero h2 em { color: #dda66f; }
.shop-orbit { border-color: rgba(221,175,119,.4); }
.shop-orbit::before { background: radial-gradient(circle at 35% 30%, #ae3a57, #3f0d21 65%, #19070f); box-shadow: 0 0 45px rgba(177,43,72,.3); }
.product-image { border: 1px solid rgba(218,170,116,.14); background: #2a1219; box-shadow: 0 12px 30px rgba(3,0,1,.24); }
.product-image img { filter: sepia(.05) saturate(.85); }
.product-copy small { color: #cf8d77; }
.product-copy h3 { color: #f2ded6; }
.product-copy p { color: #f5e5dd; }
.product-copy p span { color: #bda5a0; }
.add-product { border: 1px solid rgba(235,195,153,.25); color: #fae5d9; background: linear-gradient(135deg, #8d2944, #c94c64); box-shadow: 0 8px 20px rgba(72,12,31,.3); }
.cart-button { color: #fff0e7; background: linear-gradient(110deg, #81243c, #c64a62); }

.profile-summary, .order-card { border-color: rgba(218,170,116,.14); background: linear-gradient(125deg, rgba(103,24,46,.2), rgba(255,236,229,.035)); }
.profile-summary-copy h2, .order-card h3 { color: #f4e3dc; }
.profile-summary-copy p, .order-card p { color: #b5a09d; }
.profile-summary-copy span { color: #dcad7d; background: rgba(218,170,116,.08); }
.member-card { border: 1px solid rgba(218,170,116,.22); background: radial-gradient(circle at 86% 18%, rgba(188,62,87,.34), transparent 34%), linear-gradient(125deg, #3a0d20, #16080e); box-shadow: 0 22px 50px rgba(2,0,1,.34); }
.member-card b { color: #fff0e7; }
.menu-row { border-bottom-color: rgba(255,221,214,.1); color: #f0ddd6; }
.menu-row b, .menu-row i { color: #9f8887; }
.section-label { color: #ae8c82; }
.pending-screen h2 { color: #f5e1d8; }
.pending-seal { border-color: rgba(218,170,116,.2); color: #e4b681; background: #2a0d18; }

.bottom-sheet, .full-sheet { color: #f4e2da; background: radial-gradient(circle at 92% 0, rgba(164,42,69,.25), transparent 240px), #16090e; }
.sheet-handle { background: rgba(235,202,188,.25); }
.sheet-head h2, .detail-body h3, .chat-header h3, .unlock-panel h2 { color: #f9e9e1; }
.sheet-close { color: #ebd4ca; background: rgba(255,238,232,.07); }
.detail-body p, .unlock-panel p { color: #b9a4a0; }
.tag { color: #e9b9a6; background: rgba(196,72,97,.13); }
.detail-actions { background: linear-gradient(transparent, #16090e 25%); }
.detail-actions button:first-child { border-color: rgba(255,221,214,.15); color: #e8c8bc; background: #1c0a11; }
.chat-header { border-bottom-color: rgba(255,221,214,.1); }
.message { color: #3a1723; background: #f3ddd4; }
.message.mine { color: #fff0e8; background: linear-gradient(125deg, #8b2842, #cf5269); }
.chat-composer { border-top-color: rgba(255,221,214,.1); background: rgba(20,7,12,.94); }
.chat-composer input, .checkout-form input, .checkout-form textarea, .payment-form input, .profile-edit-form input, .profile-edit-form textarea { border-color: rgba(255,221,214,.15); color: #f2dfd8; background: rgba(255,238,232,.055); }
.chat-composer button { background: linear-gradient(135deg, #8b2842, #d05269); }
.checkout-form label, .payment-form label, .profile-edit-form label { color: #b9a19d; }
.cart-item { border-bottom-color: rgba(255,221,214,.1); }
.cart-item h4 { color: #f2dfd7; }
.qty button { border-color: rgba(255,221,214,.16); color: #ecd6cd; }
.cart-total { border-top-color: rgba(255,221,214,.1); }
.plan { border-color: rgba(255,221,214,.13); color: #ecd8cf; background: rgba(255,238,232,.035); }
.plan.active { border-color: rgba(218,170,116,.62); color: #f7d8b9; background: linear-gradient(135deg, rgba(128,34,58,.45), rgba(196,72,97,.14)); box-shadow: inset 0 0 24px rgba(191,68,94,.12); }
.benefit { color: #bda6a0; }
.payment-card { border: 1px solid rgba(218,170,116,.17); background: linear-gradient(125deg, #390e20, #0e0609); }
.wallet-row { background: rgba(255,238,232,.06); }
.upload-faux { border-color: rgba(218,170,116,.25); color: #bea7a1; background: rgba(93,20,42,.12); }
.order-amount { border-top-color: rgba(255,221,214,.1); }
.secondary-button { border-color: rgba(255,221,214,.16); color: #efdcd4; }
.toast { color: #fae9e1; background: rgba(86,19,40,.96); box-shadow: 0 16px 45px rgba(2,0,1,.42); }

@media (min-width: 740px) {
  body { background: radial-gradient(circle at 50% 0, #421323, #12070b 42%, #080305); }
  .app-shell, .auth-view { box-shadow: 0 28px 100px rgba(0,0,0,.55), 0 0 0 1px rgba(218,170,116,.13); }
  .bottom-nav { background: rgba(18,7,11,.95); }
}

/* HushTryst navigation dock */
.bottom-nav {
  left: 50%;
  bottom: calc(9px + env(safe-area-inset-bottom));
  width: min(488px, calc(100% - 22px));
  padding: 7px;
  overflow: hidden;
  border: 1px solid rgba(239, 197, 157, .16);
  border-radius: 24px;
  background:
    linear-gradient(105deg, rgba(61, 14, 29, .92), rgba(20, 7, 12, .97) 42%, rgba(37, 9, 19, .94)),
    rgba(18, 7, 11, .96);
  box-shadow: 0 15px 42px rgba(0, 0, 0, .44), inset 0 1px rgba(255, 235, 220, .06);
  backdrop-filter: blur(26px) saturate(1.35);
  -webkit-backdrop-filter: blur(26px) saturate(1.35);
}
.bottom-nav::before {
  content: "";
  position: absolute;
  top: 0;
  left: 16%;
  width: 68%;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(233, 188, 139, .48), transparent);
}
.nav-item {
  position: relative;
  min-width: 0;
  min-height: 55px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 3px;
  border: 1px solid transparent;
  border-radius: 17px;
  padding: 5px 2px 4px;
  color: #897477;
  background: transparent;
  -webkit-tap-highlight-color: transparent;
  transition: color .22s ease, background .22s ease, border-color .22s ease, transform .18s ease, box-shadow .22s ease;
}
.nav-item:active { transform: scale(.94); }
.nav-item .nav-icon {
  position: relative;
  display: grid;
  width: 28px;
  height: 26px;
  place-items: center;
  transition: transform .22s cubic-bezier(.2, .8, .2, 1), color .22s ease;
}
.nav-item .nav-icon svg {
  width: 21px;
  height: 21px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.nav-item .nav-icon svg path[d^="M8.2"] { stroke-width: 2.5; }
.nav-item b {
  display: block;
  margin: 0;
  color: inherit;
  font-size: 9px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: .1em;
}
.nav-item.active {
  color: #f0c39b;
  border-color: rgba(231, 181, 134, .13);
  background: linear-gradient(145deg, rgba(143, 41, 66, .42), rgba(105, 25, 48, .18));
  box-shadow: inset 0 1px rgba(255, 230, 211, .08), 0 8px 22px rgba(6, 0, 2, .2);
}
.nav-item.active .nav-icon {
  color: #f3bd8a;
  transform: translateY(-1px);
  filter: drop-shadow(0 0 9px rgba(215, 91, 110, .44));
}
.nav-item.active .nav-icon svg { stroke-width: 1.75; }
.nav-item.active::after {
  content: "";
  position: absolute;
  bottom: 2px;
  width: 12px;
  height: 2px;
  border-radius: 99px;
  background: linear-gradient(90deg, #a83d58, #e9b276);
  box-shadow: 0 0 8px rgba(213, 91, 109, .5);
}
.nav-item .nav-badge {
  position: absolute;
  top: 0;
  right: 1px;
  width: 7px;
  height: 7px;
  border: 2px solid #1b090f;
  border-radius: 50%;
  background: #e15b72;
  box-shadow: 0 0 8px rgba(225, 91, 114, .7);
}
.nav-item:focus-visible {
  border-color: rgba(237, 190, 143, .55);
  outline: none;
  box-shadow: 0 0 0 3px rgba(218, 145, 109, .14);
}

@media (min-width: 740px) {
  .bottom-nav { bottom: 34px; border-radius: 24px; }
}

/* HushTryst wallet */
.wallet-menu-row span::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border: 1px solid #d7a168;
  border-radius: 50%;
  box-shadow: 0 0 10px rgba(212, 112, 105, .55);
  vertical-align: 1px;
}
.wallet-menu-row b { color: #dcb185; }
.wallet-loading { min-height: 70vh; display: grid; place-items: center; color: #bda6a0; font-size: 11px; }
.wallet-sheet-head { margin-bottom: 18px; }
.wallet-hero-card {
  position: relative;
  overflow: hidden;
  min-height: 225px;
  padding: 22px;
  border: 1px solid rgba(231, 184, 135, .24);
  border-radius: 27px;
  color: #fae9df;
  background:
    radial-gradient(circle at 82% 22%, rgba(210, 92, 107, .34), transparent 32%),
    radial-gradient(circle at 12% 105%, rgba(218, 165, 105, .2), transparent 36%),
    linear-gradient(135deg, #3b0e20, #17070e 56%, #290a17);
  box-shadow: 0 24px 58px rgba(0, 0, 0, .34), inset 0 1px rgba(255, 238, 226, .07);
}
.wallet-hero-card::after {
  content: "HT";
  position: absolute;
  right: 15px;
  bottom: -36px;
  color: rgba(242, 191, 145, .055);
  font: italic 150px/1 var(--display);
}
.wallet-hero-top { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; }
.wallet-hero-top span { color: #cbb1a8; font-size: 10px; letter-spacing: .08em; }
.wallet-hero-top i { padding: 5px 8px; border: 1px solid rgba(230, 187, 142, .24); border-radius: 999px; color: #e4b77e; font-size: 8px; font-style: normal; letter-spacing: .12em; }
.wallet-hero-card > strong { position: relative; z-index: 1; display: flex; align-items: baseline; gap: 8px; margin: 24px 0 5px; font: 500 48px/1 var(--display); letter-spacing: -.04em; }
.wallet-hero-card > strong small { color: #dda96f; font: 700 10px/1 var(--body); letter-spacing: .12em; }
.wallet-hero-card > p { position: relative; z-index: 1; margin: 0; color: #a98c89; font-size: 9px; }
.wallet-hero-card > button { position: relative; z-index: 1; display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 42px; margin-top: 22px; border: 1px solid rgba(235, 195, 153, .2); border-radius: 14px; padding: 0 14px; color: #ffeadf; background: linear-gradient(110deg, rgba(145, 38, 66, .88), rgba(192, 70, 92, .72)); font-size: 10px; font-weight: 700; }
.wallet-hero-card > button span { font-size: 17px; font-weight: 400; }
.wallet-hero-card > button:disabled { color: #8e7776; background: rgba(255, 238, 232, .05); }
.wallet-pending-note { display: flex; align-items: center; gap: 11px; margin: 13px 0 0; padding: 13px 15px; border: 1px solid rgba(218, 170, 116, .16); border-radius: 17px; background: rgba(102, 24, 46, .18); }
.wallet-pending-note > span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; color: #2c1119; background: #d9a66d; font-weight: 800; }
.wallet-pending-note p { margin: 0; }
.wallet-pending-note b, .wallet-pending-note small { display: block; }
.wallet-pending-note b { color: #eddbd3; font-size: 10px; }
.wallet-pending-note small { margin-top: 3px; color: #a68f8c; font-size: 8px; }
.wallet-section { margin-top: 28px; }
.wallet-section-head { display: flex; align-items: flex-end; justify-content: space-between; margin-bottom: 9px; }
.wallet-section-head h3 { margin: 1px 0 0; color: #f4e2da; font: 600 17px var(--display); }
.wallet-section-head > span { color: #947b7a; font-size: 8px; }
.wallet-ledger, .deposit-history { border-top: 1px solid rgba(255, 221, 214, .1); }
.wallet-ledger-row { display: grid; grid-template-columns: 38px 1fr auto; gap: 10px; align-items: center; min-height: 66px; border-bottom: 1px solid rgba(255, 221, 214, .08); }
.wallet-ledger-icon { display: grid; width: 34px; height: 34px; place-items: center; border-radius: 12px; font-size: 15px; }
.wallet-ledger-icon.credit { color: #e9bd85; background: rgba(213, 162, 103, .11); }
.wallet-ledger-icon.debit { color: #e58da0; background: rgba(194, 64, 91, .13); }
.wallet-ledger-row div { min-width: 0; }
.wallet-ledger-row b, .wallet-ledger-row small { display: block; }
.wallet-ledger-row b { color: #eddad2; font-size: 10px; }
.wallet-ledger-row small { margin-top: 4px; color: #927d7c; font-size: 8px; }
.wallet-ledger-row > strong { font-size: 11px; }
.wallet-ledger-row > strong.credit { color: #dbac73; }
.wallet-ledger-row > strong.debit { color: #d8788c; }
.deposit-history article { display: flex; align-items: center; justify-content: space-between; min-height: 63px; border-bottom: 1px solid rgba(255, 221, 214, .08); }
.deposit-history b, .deposit-history small { display: block; }
.deposit-history b { color: #ead6ce; font-size: 10px; }
.deposit-history small { margin-top: 4px; color: #8e7878; font-size: 8px; }
.deposit-history article > span { padding: 5px 8px; border-radius: 999px; font-size: 8px; }
.deposit-history .submitted { color: #ddb37f; background: rgba(218, 170, 116, .1); }
.deposit-history .approved { color: #96b7a6; background: rgba(102, 151, 125, .1); }
.deposit-history .rejected { color: #dc8294; background: rgba(196, 72, 97, .11); }
.wallet-empty { padding: 28px 0; color: #856f70; font-size: 9px; text-align: center; }
.wallet-footnote { margin: 25px 0 72px; color: #7f6a6c; font-size: 8px; line-height: 1.7; text-align: center; }
.order-pay-summary { display: flex; align-items: flex-end; justify-content: space-between; margin: 2px 0 13px; padding: 0 2px; }
.order-pay-summary span { color: #9f8987; font-size: 8px; }
.order-pay-summary strong { color: #f6e3da; font: 600 22px var(--display); }
.order-pay-summary strong small { color: #bd9684; font: 700 8px var(--body); }
.balance-pay-option { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 15px; border: 1px solid rgba(255, 221, 214, .11); border-radius: 18px; background: rgba(255, 238, 232, .035); }
.balance-pay-option.ready { border-color: rgba(224, 174, 118, .3); background: linear-gradient(120deg, rgba(116, 29, 52, .3), rgba(218, 170, 116, .06)); }
.balance-pay-option small { color: #c89569; font-size: 7px; letter-spacing: .14em; }
.balance-pay-option h3 { margin: 3px 0; color: #efdcd4; font: 600 13px var(--display); }
.balance-pay-option p { margin: 0; color: #998281; font-size: 8px; }
.balance-pay-option button { flex: 0 0 auto; min-height: 34px; border: 1px solid rgba(220, 174, 124, .25); border-radius: 999px; padding: 0 12px; color: #f2d5be; background: rgba(139, 38, 63, .55); font-size: 8px; }
.payment-divider { display: flex; align-items: center; gap: 10px; margin: 17px 0 4px; color: #856f70; font-size: 8px; }
.payment-divider::before, .payment-divider::after { content: ""; flex: 1; height: 1px; background: rgba(255, 221, 214, .09); }
.deposit-address-card > p { color: #b29b96; font-size: 9px; line-height: 1.6; }
.tall-sheet.wallet-only-payment { height: auto; min-height: 330px; }
.wallet-only-card { min-height: 92px; padding: 19px; }
.wallet-only-card h3 { font-size: 16px; }
.wallet-only-card button { min-height: 38px; padding: 0 16px; font-size: 9px; }
.wallet-only-note { margin: 16px 4px 2px; color: #8e7777; font-size: 8px; line-height: 1.7; text-align: center; }

/* Dating modes · v8 */
.date-mode-tabs { position: relative; display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 2px 0 14px; padding: 4px; border: 1px solid rgba(233, 188, 139, .13); border-radius: 18px; background: rgba(10, 3, 6, .44); box-shadow: inset 0 1px rgba(255, 238, 226, .025); }
.date-mode-tabs button { min-height: 43px; border: 1px solid transparent; border-radius: 14px; color: #8f7778; background: transparent; font: 600 10px var(--body); letter-spacing: .04em; transition: .24s ease; }
.date-mode-tabs button span { margin-right: 6px; color: #a78075; font: 16px var(--display); vertical-align: -1px; }
.date-mode-tabs button.active { border-color: rgba(229, 179, 130, .17); color: #f1d5c8; background: linear-gradient(120deg, rgba(139, 37, 63, .5), rgba(92, 20, 43, .3)); box-shadow: 0 8px 22px rgba(3, 0, 1, .22), inset 0 1px rgba(255, 230, 214, .07); }
.date-mode-tabs button.active span { color: #e4ad75; text-shadow: 0 0 10px rgba(211, 89, 107, .4); }
.exchange-notice { display: flex; align-items: center; gap: 11px; margin: -2px 0 13px; padding: 12px 13px; border: 1px solid rgba(222, 168, 112, .17); border-radius: 16px; background: linear-gradient(110deg, rgba(108, 25, 47, .24), rgba(255, 238, 232, .025)); animation: page-in .3s ease both; }
.exchange-notice > span { display: grid; width: 36px; height: 36px; flex: 0 0 36px; place-items: center; border: 1px solid rgba(225, 177, 126, .26); border-radius: 50%; color: #e0ae77; font-size: 9px; font-weight: 800; }
.exchange-notice p { margin: 0; }
.exchange-notice b, .exchange-notice small { display: block; }
.exchange-notice b { color: #e8d4cb; font-size: 10px; }
.exchange-notice small { margin-top: 4px; color: #9e8785; font-size: 8px; line-height: 1.55; }
.profile-flags { display: flex; align-items: center; gap: 5px; }
.exchange-badge { padding: 6px 8px; border: 1px solid rgba(236, 193, 151, .2); border-radius: 999px; color: #f1d0b2; background: rgba(91, 21, 43, .64); backdrop-filter: blur(10px); font-size: 8px; font-weight: 700; letter-spacing: .08em; box-shadow: 0 6px 18px rgba(10, 1, 5, .2); }
.exchange-detail-note { margin-top: 17px; padding: 13px; border: 1px solid rgba(218, 170, 116, .16); border-radius: 15px; background: rgba(103, 24, 46, .15); }
.exchange-detail-note b { color: #e4b47d; font: 600 11px var(--display); }
.exchange-detail-note p { margin: 5px 0 0; color: #a9918e; font-size: 9px; line-height: 1.65; }
.profile-edit-form select { width: 100%; border: 1px solid rgba(255,221,214,.15); border-radius: 12px; padding: 12px; outline: none; color: #f2dfd8; background: #241017; }

/* HushTryst · Whisper Knot brand system v9 */
body {
  --wine: #c34f69;
  --wine-deep: #5c132a;
  --brass: #d0a067;
}
.auth-mark {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: 39%;
  width: 126px;
  transform: translate(-50%, -50%);
  filter: drop-shadow(0 22px 34px rgba(4, 0, 2, .38));
  animation: mark-arrive .9s .05s cubic-bezier(.2,.8,.2,1) both;
}
.auth-wordmark {
  position: absolute;
  z-index: 2;
  left: 50%;
  top: calc(39% + 83px);
  transform: translateX(-50%);
  color: #f4e4da;
  font: 600 25px/1 var(--display);
  letter-spacing: -.025em;
  white-space: nowrap;
}
.auth-wordmark small {
  display: block;
  margin-top: 9px;
  color: #d0a067;
  font: 700 8px/1 var(--body);
  letter-spacing: .56em;
  text-align: center;
}
.auth-copy .eyebrow { color: #d0a067; }
.brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  letter-spacing: 0;
}
.brand img { width: 31px; height: 31px; filter: drop-shadow(0 7px 15px rgba(195,79,105,.2)); }
.brand > span {
  display: block;
  width: auto;
  height: auto;
  margin: 0;
  border: 0;
  border-radius: 0;
  color: #f4e4da;
  background: transparent;
  box-shadow: none;
  font: 600 15px/1 var(--display);
  font-style: normal;
  letter-spacing: -.02em;
}
.brand > span small { display: block; margin-top: 3px; color: #a98b82; font: 700 6px/1 var(--body); letter-spacing: .32em; }
.member-gem {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  place-items: center;
  border: 1px solid rgba(240,199,170,.28);
  border-radius: 50%;
  color: #f0c7aa;
  background: radial-gradient(circle at 36% 28%, #7b1c3a, #260b15 74%);
  box-shadow: 0 0 25px rgba(195,79,105,.18);
}
.member-card small { letter-spacing: .13em; }
.wallet-hero-card::after { content: "HT"; right: 10px; bottom: -20px; font-size: 104px; letter-spacing: -.12em; }
.select-badge { letter-spacing: .08em; }
@keyframes mark-arrive {
  from { opacity: 0; transform: translate(-50%,-45%) scale(.86) rotate(-5deg); }
  to { opacity: 1; transform: translate(-50%,-50%) scale(1) rotate(0); }
}

/* v11 final cascade guards */
.status-dot.managed-dot::before { background: #d8a46c; box-shadow: 0 0 0 3px rgba(216,164,108,.14), 0 0 13px rgba(216,164,108,.34); }
.detail-actions { display: block; }
.detail-actions .primary-button,
.detail-actions button:first-child { width: 100%; min-height: 50px; border: 0; border-radius: 999px; color: #fff4ed; background: linear-gradient(110deg, #8d2944, #d05b70); box-shadow: 0 12px 28px rgba(109,22,49,.34); }

/* v36 · global readable type floor */
.brand > span { font-size: 18px; line-height: 1; }
.brand > span small { margin-top: 4px; color: #d2b2a8; font-size: 12px !important; line-height: 1.15; letter-spacing: .16em; }
body small,
body time,
body code { font-size: 11px !important; line-height: 1.45; }
.auth-language-switch button small { letter-spacing: .06em; }
.nav-item b { font-size: 11px !important; line-height: 1.15; letter-spacing: .06em; }
.conversation-copy h3 em,
.select-badge,
.custom-atelier-entry > i b,
.custom-request-row em,
.custom-request-summary > span,
.custom-quote-top em,
.deposit-kicker em,
.safety-records article > span,
.ticket-list em,
.deposit-history article > span,
.wallet-hero-top i,
.wallet-section-head > span,
.service-section-title > span,
.cart-button b,
.concierge-label,
.request-summary > span,
.deposit-amount span,
.region-picker-trigger em,
.safety-help-button em { font-size: 11px !important; line-height: 1.35; }
.date-mode-tabs button,
.regional-catalog-note button,
.cart-button,
.blocked-list button,
.custom-message-image,
.custom-message-form button,
.meeting-deposit-user > button,
.wallet-only-card button,
.balance-pay-option button { font-size: 12px !important; }
.shop-hero > p:last-of-type,
.service-head > div > p:last-child,
.service-empty p,
.service-mini-empty,
.service-footnote,
.likes-gate p,
.safety-hero p,
.support-intro p,
.custom-atelier-entry em,
.custom-atelier-hero p,
.custom-empty p,
.custom-quote-card > p,
.custom-message p,
.meeting-deposit-user > p,
.wallet-hero-card > p,
.wallet-empty,
.wallet-footnote,
.balance-pay-option p,
.gateway-deposit-card > p,
.order-card p,
.payment-warning,
.wallet-only-note,
.wallet-hero-top span,
.region-change-warning,
.settings-about p,
.chat-header p,
.request-summary p { font-size: 12px !important; line-height: 1.65; }
.privacy-note b,
.support-privacy b,
.safety-rules b,
.safety-help-button b,
.safety-records b,
.blocked-list b,
.ticket-list b,
.support-message b,
.support-closed b,
.custom-request-row b,
.custom-image-upload b,
.custom-request-summary b,
.custom-quote-top b,
.custom-paid-seal b,
.custom-message b,
.deposit-receipt b,
.deposit-cancelled-note b,
.wallet-ledger-row b,
.deposit-history b,
.wallet-pending-note b,
.order-top b,
.message b { font-size: 12px !important; line-height: 1.4; }
.service-back { min-height: 32px; font-size: 12px; }
.custom-wallet-balance,
.deposit-wallet-line,
.payment-divider,
.order-pay-summary span { font-size: 12px !important; line-height: 1.5; }
.support-form label,
.custom-request-form label,
.custom-payment-form label { font-size: 13px !important; }
.support-form input,
.support-form select,
.support-form textarea,
.support-reply textarea,
.custom-request-form input,
.custom-request-form select,
.custom-request-form textarea,
.custom-payment-form input,
.custom-payment-form textarea { font-size: 14px !important; line-height: 1.5; }
.custom-message-form textarea { font-size: 13px !important; }
.toast { font-size: 12px; line-height: 1.45; }
.profile-sheet-close-top { position: absolute; z-index: 4; top: 14px; right: 17px; }
.profile-application-disclaimer { font-size: 11px; line-height: 1.55; }
.profile-editor-note { color: var(--muted); font-size: 12px; line-height: 1.7; }
.brand, .membership-pill, .icon-button, .round-button, .chip, .regional-catalog-note button { min-height: 44px; }
.icon-button, .round-button { min-width: 44px; }
.profile-card:focus-visible { outline: 3px solid rgba(234, 185, 135, .78); outline-offset: 3px; }

/* v40 · controlled luxury action icon system */
.action-glyph {
  display: inline-grid !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px;
  place-items: center;
  margin-left: 15px !important;
  border: 1px solid rgba(255, 221, 193, .3);
  border-radius: 50%;
  color: #ffe0bd !important;
  background: linear-gradient(145deg, rgba(255, 234, 215, .12), rgba(76, 17, 35, .18));
  box-shadow: inset 0 1px rgba(255, 255, 255, .14), 0 7px 18px rgba(51, 8, 24, .16);
  line-height: 1;
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}
.action-glyph svg {
  width: 17px;
  height: 17px;
  overflow: visible;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.55;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.primary-button:hover .action-glyph,
.primary-button:focus-visible .action-glyph { border-color: rgba(255, 226, 197, .5); background: rgba(255, 234, 215, .16); transform: translateX(2px); }
.primary-button:active .action-glyph { transform: translateX(1px) scale(.96); }
.custom-message-form button .action-glyph { width: 27px !important; height: 27px !important; flex-basis: 27px; margin-left: 8px !important; }
.custom-message-form button .action-glyph svg { width: 14px; height: 14px; }
.wallet-hero-actions button {
  appearance: none;
  -webkit-appearance: none;
  position: relative;
  z-index: 1;
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  border: 1px solid rgba(235, 195, 153, .24);
  border-radius: 14px;
  padding: 0 10px 0 13px;
  color: #ffeadf;
  background: linear-gradient(110deg, rgba(145, 38, 66, .92), rgba(206, 84, 104, .76));
  box-shadow: inset 0 1px rgba(255,255,255,.08), 0 10px 24px rgba(74,11,31,.2);
  font: 700 10px var(--body);
}
.wallet-hero-actions button:disabled {
  color: #8e7776;
  border-color: rgba(235, 195, 153, .11);
  background: rgba(255, 238, 232, .05);
  box-shadow: none;
}
.wallet-hero-actions #wallet-withdraw:disabled {
  color: #8e7776;
  border-color: rgba(235, 195, 153, .11);
  background: rgba(255, 238, 232, .05);
}
.wallet-hero-actions button .action-glyph { width: 29px !important; height: 29px !important; flex-basis: 29px; margin-left: 5px !important; }
.wallet-hero-actions button .action-glyph svg { width: 14px; height: 14px; }

/* v43 · independent meeting protection */
.meeting-protection-menu-row span { display: inline-flex; align-items: center; gap: 9px; }
.meeting-protection-menu-row span::before { content: "◇"; color: #dfaf79; font-size: 17px; }
.protection-service-head { margin-bottom: 14px; }
.protection-hero { position: relative; display: grid; grid-template-columns: 68px 1fr; gap: 16px; align-items: center; overflow: hidden; border: 1px solid rgba(234,190,151,.21); border-radius: 25px; padding: 19px 17px; background: radial-gradient(circle at 0 50%,rgba(207,83,108,.25),transparent 150px),linear-gradient(132deg,rgba(78,18,37,.82),rgba(34,11,19,.9)); box-shadow: 0 20px 48px rgba(4,0,2,.26); }
.protection-hero::after { content: ""; position: absolute; width: 170px; height: 75px; right: -72px; top: -19px; border: 1px solid rgba(218,170,116,.13); border-radius: 50%; transform: rotate(-19deg); }
.protection-emblem { position: relative; display: grid; width: 66px; height: 66px; place-items: center; border: 1px solid rgba(238,196,154,.34); border-radius: 50%; color: #f1c38f; background: radial-gradient(circle at 40% 35%,rgba(213,82,107,.44),rgba(68,15,32,.86)); box-shadow: inset 0 0 0 7px rgba(255,238,226,.025),0 12px 32px rgba(96,20,44,.36); }
.protection-emblem::before,.protection-emblem::after { content: ""; position: absolute; width: 78px; height: 31px; border: 1px solid rgba(222,176,128,.15); border-radius: 50%; transform: rotate(-18deg); }
.protection-emblem::after { transform: rotate(24deg); }
.protection-emblem span { position: relative; z-index: 1; font: 600 25px var(--display); }
.protection-hero small,.protection-hero h3,.protection-hero p { display: block; margin: 0; }
.protection-hero small { color: #dba76e; font-size: 11px !important; font-weight: 750; letter-spacing: .13em; }
.protection-hero h3 { margin-top: 5px; color: #fff0e8; font: 600 19px/1.3 var(--display); }
.protection-hero p { margin-top: 6px; color: #bca5a1; font-size: 12px; line-height: 1.65; }
.protection-create-button { display: flex; width: 100%; min-height: 69px; align-items: center; justify-content: space-between; gap: 14px; margin: 13px 0; border: 1px solid rgba(230,182,137,.24); border-radius: 21px; padding: 10px 13px 10px 17px; color: inherit; background: linear-gradient(112deg,rgba(143,37,64,.68),rgba(197,72,97,.2)); text-align: left; box-shadow: 0 13px 32px rgba(53,8,23,.18); }
.protection-create-button span small,.protection-create-button span b { display: block; }
.protection-create-button span small { color: #e0ae75; font-size: 11px !important; letter-spacing: .08em; }
.protection-create-button span b { margin-top: 4px; color: #f6e4dc; font-size: 14px; }
.protection-rules { display: grid; gap: 1px; overflow: hidden; border: 1px solid rgba(237,207,192,.1); border-radius: 21px; background: rgba(255,238,232,.05); }
.protection-rules > div { display: grid; grid-template-columns: 35px 1fr; gap: 11px; align-items: center; min-height: 70px; padding: 11px 14px; background: rgba(21,7,12,.7); }
.protection-rules > div > span { color: #c89562; font: 600 12px var(--display); letter-spacing: .08em; }
.protection-rules p,.protection-rules b,.protection-rules small { display: block; margin: 0; }
.protection-rules b { color: #e8d4cc; font-size: 13px; }
.protection-rules small { margin-top: 5px; color: #9e8986; font-size: 11px !important; line-height: 1.5; }
.protection-safety-boundary { display: grid; grid-template-columns: 34px 1fr; gap: 12px; align-items: start; margin: 13px 0 3px; border: 1px solid rgba(224,169,108,.18); border-radius: 17px; padding: 13px; background: linear-gradient(110deg,rgba(103,26,47,.26),rgba(218,170,116,.045)); }
.protection-safety-boundary > span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(231,185,137,.31); border-radius: 50%; color: #e5b276; font-weight: 800; }
.protection-safety-boundary p,.protection-safety-boundary b,.protection-safety-boundary small { display: block; margin: 0; }
.protection-safety-boundary b { color: #f1ddd4; font-size: 13px; }
.protection-safety-boundary small { margin-top: 5px; color: #b49d99; font-size: 11px !important; line-height: 1.6; }
.protection-request-list { overflow: hidden; border-top: 1px solid rgba(255,221,214,.09); }
.protection-request-list button { display: grid; width: 100%; grid-template-columns: 10px minmax(0,1fr) auto; gap: 11px; align-items: center; min-height: 72px; border: 0; border-bottom: 1px solid rgba(255,221,214,.08); padding: 8px 1px; color: inherit; background: none; text-align: left; }

/* v44 · profile image and video collection */
.profile-media-badge,.profile-video-badge { display: inline-flex; min-height: 25px; align-items: center; border: 1px solid rgba(255,224,199,.2); border-radius: 999px; padding: 0 8px; color: #f1d0b2; background: rgba(26,6,13,.52); backdrop-filter: blur(10px); font-size: 10px; font-weight: 700; }
.profile-video-badge { color: #f4b9c4; }
.profile-media-stage { background: #080407; }
.profile-media-stage::after { z-index: 1; pointer-events: none; }
.profile-media-carousel { display: flex; width: 100%; height: 100%; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scrollbar-width: none; }
.profile-media-carousel::-webkit-scrollbar { display: none; }
.profile-media-slide { position: relative; min-width: 100%; height: 100%; flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; background: radial-gradient(circle at 50% 32%,#391321,#080407 72%); }
.detail-portrait .profile-media-slide img,.detail-portrait .profile-media-slide video { display: block; width: 100%; height: 100%; object-fit: cover; }
.detail-portrait .profile-media-slide video { position: relative; z-index: 3; object-fit: contain; background: #080407; }
.profile-media-stage .detail-title { pointer-events: none; }
.profile-media-counter { position: absolute; z-index: 5; top: 15px; left: 16px; min-width: 48px; border: 1px solid rgba(255,226,205,.2); border-radius: 999px; padding: 6px 10px; color: #f8e2d3; background: rgba(30,7,15,.68); box-shadow: 0 9px 24px rgba(0,0,0,.16); backdrop-filter: blur(12px); font-size: 11px; font-weight: 750; text-align: center; }
.protection-request-list button > span:nth-child(2) b,.protection-request-list button > span:nth-child(2) small { display: block; }
.protection-request-list button > span:nth-child(2) b { color: #ead8d0; font-size: 14px; }
.protection-request-list button > span:nth-child(2) small { overflow: hidden; margin-top: 5px; color: #907a79; font-size: 11px !important; text-overflow: ellipsis; white-space: nowrap; }
.protection-request-list em { color: #d1a271; font-size: 11px; font-style: normal; white-space: nowrap; }
.protection-status-dot { width: 8px; height: 8px; border-radius: 50%; background: #9b7277; box-shadow: 0 0 0 4px rgba(155,114,119,.08); }
.protection-status-dot.payment_pending { background: #e0aa6d; box-shadow: 0 0 13px rgba(224,170,109,.56); }
.protection-status-dot.held,.protection-status-dot.disputed { background: #cd4e69; box-shadow: 0 0 13px rgba(205,78,105,.62); }
.protection-status-dot.refunded { background: #77ad8e; }
.protection-form { display: grid; gap: 14px; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
.protection-form-head > div { flex: 1; min-width: 0; }
.protection-form-head > div > p:last-child { max-width: 285px; }
.protection-form-head .sheet-close { flex: 0 0 36px; }
.protection-form-section { display: grid; gap: 13px; border: 1px solid rgba(238,205,188,.12); border-radius: 22px; padding: 16px; background: linear-gradient(132deg,rgba(255,239,232,.045),rgba(96,21,44,.12)); }
.protection-form-title { display: grid; grid-template-columns: 33px 1fr; gap: 11px; align-items: center; padding-bottom: 12px; border-bottom: 1px solid rgba(238,207,192,.1); }
.protection-form-title > span { display: grid; width: 32px; height: 32px; place-items: center; border: 1px solid rgba(224,173,119,.24); border-radius: 50%; color: #d8a266; font: 600 11px var(--display); }
.protection-form-title b,.protection-form-title small { display: block; }
.protection-form-title b { color: #f2dfd7; font-size: 15px; }
.protection-form-title small { margin-top: 4px; color: #927d7a; font-size: 11px !important; }
.protection-form label { color: #c0aaa5; font-size: 13px; }
.protection-form input,.protection-form textarea { width: 100%; margin-top: 7px; border: 1px solid rgba(255,221,214,.16); border-radius: 15px; padding: 14px; outline: none; color: #f5e4dc; background: rgba(255,239,233,.05); font: 14px/1.5 var(--body); }
.protection-form input:focus,.protection-form textarea:focus { border-color: rgba(223,174,118,.72); box-shadow: 0 0 0 3px rgba(196,72,97,.08); }
.protection-form input[type="datetime-local"] { min-height: 51px; color-scheme: dark; }
.form-boundary { margin: 0; }
.protection-consent { margin: 0; }
.protection-deposit-card { position: relative; overflow: hidden; border: 1px solid rgba(233,185,140,.27); border-radius: 25px; padding: 18px; background: radial-gradient(circle at 100% 0,rgba(198,67,94,.28),transparent 190px),linear-gradient(135deg,#3b1020,#1e0b12 72%); box-shadow: 0 22px 52px rgba(3,0,1,.3); }
.protection-deposit-card::after { content: ""; position: absolute; width: 145px; height: 66px; right: -62px; bottom: -28px; border: 1px solid rgba(231,183,137,.14); border-radius: 50%; transform: rotate(-18deg); }
.protection-card-top { display: grid; grid-template-columns: 28px 1fr auto; gap: 9px; align-items: center; }
.protection-card-top > span { display: grid; width: 27px; height: 27px; place-items: center; border: 1px solid rgba(232,186,141,.32); border-radius: 50%; color: #e4b276; }
.protection-card-top small { color: #dba66b; font-size: 11px !important; letter-spacing: .11em; }
.protection-card-top em { border-radius: 999px; padding: 5px 8px; color: #e7bf90; background: rgba(224,169,108,.09); font-size: 11px; font-style: normal; }
.protection-card-amount { display: flex; align-items: baseline; gap: 8px; margin: 20px 0 9px; }
.protection-card-amount strong { color: #fff0e8; font: 500 39px/1 var(--display); letter-spacing: -.035em; }
.protection-card-amount span { color: #d8a469; font-size: 11px; }
.protection-deposit-card > p { position: relative; z-index: 1; margin: 0; color: #b9a19e; font-size: 12px; line-height: 1.65; }
.protection-wallet-line { display: flex; align-items: center; justify-content: space-between; margin-top: 15px; border-top: 1px solid rgba(255,221,214,.1); padding-top: 13px; color: #a58d8a; font-size: 12px; }
.protection-wallet-line b { color: #e9d4ca; }
.protection-pay-button { position: relative; z-index: 1; display: flex; width: 100%; min-height: 66px; align-items: center; justify-content: space-between; gap: 12px; margin-top: 13px; border: 0; border-radius: 19px; padding: 9px 11px 9px 16px; color: #fff0e8; background: linear-gradient(112deg,#9e2f4d,#d35a70 74%,#c48773); text-align: left; box-shadow: 0 13px 30px rgba(126,28,56,.3); }
.protection-pay-button small,.protection-pay-button b { display: block; }
.protection-pay-button small { color: #f3c7b0; font-size: 11px !important; }
.protection-pay-button b { margin-top: 4px; font-size: 14px; }
.protection-customer-note { position: relative; z-index: 1; margin-top: 13px; border: 1px solid rgba(240,207,186,.1); border-radius: 14px; padding: 12px; background: rgba(255,240,232,.045); }
.protection-customer-note small { color: #d2a06a; font-size: 11px !important; }
.protection-customer-note p { margin: 5px 0 0; color: #c6afaa; font-size: 12px; line-height: 1.55; }
.protection-party-card { display: grid; gap: 0; margin-top: 13px; overflow: hidden; border: 1px solid rgba(239,210,194,.1); border-radius: 20px; background: rgba(255,239,232,.025); }
.protection-party-card > div { display: grid; grid-template-columns: 88px minmax(0,1fr); gap: 12px; min-height: 56px; align-items: center; border-bottom: 1px solid rgba(239,210,194,.08); padding: 10px 14px; }
.protection-party-card > div:last-child { border-bottom: 0; }
.protection-party-card small { color: #8f7978; font-size: 11px !important; }
.protection-party-card b { overflow-wrap: anywhere; color: #e5d1c9; font-size: 13px; line-height: 1.5; }
.protection-result-card { display: grid; grid-template-columns: 45px 1fr; gap: 13px; align-items: center; margin-top: 13px; border: 1px solid rgba(118,176,145,.18); border-radius: 19px; padding: 14px; background: rgba(95,155,123,.065); }
.protection-result-card > span { display: grid; width: 43px; height: 43px; place-items: center; border-radius: 50%; color: #9fd0b6; background: rgba(101,165,131,.13); }
.protection-result-card small,.protection-result-card h3,.protection-result-card p { display: block; margin: 0; }
.protection-result-card small { color: #79a38c; font-size: 11px !important; }
.protection-result-card h3 { margin-top: 3px; color: #dbe9e0; font: 600 17px var(--display); }
.protection-result-card p { margin-top: 4px; color: #89a294; font-size: 11px; }
.protection-cancel-button { width: 100%; min-height: 48px; margin-top: 12px; border: 1px solid rgba(232,203,189,.12); border-radius: 16px; color: #ae9290; background: rgba(255,239,232,.025); font-size: 12px; }
#contact-support-for-protection { margin-top: 12px; }

/* v50 · US country catalog and user location picker */
.location-fixed-value { display: flex; min-height: 52px; align-items: center; justify-content: space-between; gap: 10px; margin-top: 7px; border: 1px solid rgba(255,221,214,.16); border-radius: 15px; padding: 0 14px; color: #f4ddd2; background: rgba(255,239,233,.045); }
.location-fixed-value b { font-size: 14px; }
.location-fixed-value small { border: 1px solid rgba(228,183,145,.2); border-radius: 999px; padding: 4px 7px; color: #d7a36a; font-size: 11px !important; }
.location-form-note { margin: -2px 1px 2px; color: #b59b96; font-size: 12px; line-height: 1.55; }
.location-picker-panel { min-height: min(720px,88vh); }
.location-state-list,.location-city-results { padding-bottom: calc(18px + env(safe-area-inset-bottom)); }
.location-picker-tools { position: sticky; z-index: 2; top: 0; display: grid; grid-template-columns: auto minmax(0,1fr); gap: 9px; padding: 10px 16px 12px; background: linear-gradient(180deg,#210b13 82%,rgba(33,11,19,0)); }
.location-picker-tools > button { min-height: 48px; border: 1px solid rgba(231,185,137,.24); border-radius: 15px; padding: 0 13px; color: #e5b77f; background: rgba(116,29,53,.3); font-size: 12px; font-weight: 700; }
.location-picker-tools label { position: relative; display: flex; min-width: 0; align-items: center; }
.location-picker-tools label > span { position: absolute; left: 14px; color: #d7a36a; font-size: 18px; }
.location-picker-tools input { width: 100%; min-height: 48px; border: 1px solid rgba(255,221,214,.17); border-radius: 15px; padding: 0 14px 0 39px; outline: 0; color: #f6e4dc; background: rgba(255,239,233,.055); font: 14px var(--body); }
.location-picker-tools input:focus { border-color: rgba(223,174,118,.72); box-shadow: 0 0 0 3px rgba(196,72,97,.1); }
.location-city-results .service-loading { padding: 30px 16px; }
.location-city-choice .region-choice-copy small { font-size: 12px !important; }
@media (max-width: 360px) { .location-picker-tools { grid-template-columns: 1fr; } }

/* v51 · DFHPAY local checkout */
.payment-method-card.india .pay-method-mark,
.deposit-method-tabs button.india > span,
.custom-gateway-button.india > span { color: #211405; background: linear-gradient(145deg,#f1b85f,#b96a25); }
.payment-method-card.brazil .pay-method-mark,
.deposit-method-tabs button.brazil > span,
.custom-gateway-button.brazil > span { color: #f4ffe8; background: linear-gradient(145deg,#238b5b,#0d493f); }
.payment-method-card.india > button { border-color: rgba(229,163,75,.28); background: rgba(164,91,27,.28); }
.payment-method-card.brazil > button { border-color: rgba(57,168,111,.26); background: rgba(20,105,76,.3); }
.gateway-deposit-card.india { background: radial-gradient(circle at 100% 0,rgba(238,165,71,.23),transparent 145px),linear-gradient(140deg,#28180e,#0c080e); }
.gateway-deposit-card.brazil { background: radial-gradient(circle at 100% 0,rgba(42,153,96,.23),transparent 145px),linear-gradient(140deg,#0d211a,#0c080e); }
.gateway-deposit-card.india .gateway-deposit-head > span { color: #241507; background: linear-gradient(145deg,#efb04d,#b76525); }
.gateway-deposit-card.brazil .gateway-deposit-head > span { background: linear-gradient(145deg,#269461,#0c5041); }
.gateway-submit.india { color: #281805; background: linear-gradient(110deg,#b66a28,#f0b859); }
.gateway-submit.brazil { background: linear-gradient(110deg,#0d5744,#259663); }
.gateway-payer-sheet { background: radial-gradient(circle at 82% 5%,rgba(207,137,72,.12),transparent 230px),linear-gradient(180deg,#260c15,#12070b); }
.gateway-payer-back { min-height: 42px; margin: -2px 0 11px; border: 1px solid rgba(236,193,155,.13); border-radius: 14px; padding: 0 13px; color: #caa889; background: rgba(255,239,231,.035); font-size: 12px; }
.gateway-payer-channel { display: grid; grid-template-columns: 48px minmax(0,1fr) auto; gap: 12px; align-items: center; margin-bottom: 14px; border: 1px solid rgba(240,202,169,.13); border-radius: 20px; padding: 14px; background: linear-gradient(125deg,rgba(255,239,230,.055),rgba(173,87,57,.055)); }
.gateway-payer-channel > span { display: grid; width: 48px; height: 48px; place-items: center; border-radius: 15px; color: #251505; background: linear-gradient(145deg,#efb04d,#b76525); font: 600 15px var(--display); }
.gateway-payer-channel.brazil > span { color: white; background: linear-gradient(145deg,#269461,#0c5041); }
.gateway-payer-channel small,.gateway-payer-channel b { display: block; }
.gateway-payer-channel small { color: #b58a68; font-size: 11px !important; letter-spacing: .08em; }
.gateway-payer-channel b { margin-top: 3px; color: #f1ddd4; font-size: 14px; }
.gateway-payer-channel strong { color: #f2c791; font: 600 18px var(--display); white-space: nowrap; }
.gateway-payer-intro { display: grid; grid-template-columns: 43px minmax(0,1fr); gap: 12px; align-items: center; border: 1px solid rgba(227,179,128,.15); border-radius: 18px; padding: 13px; background: rgba(184,103,56,.065); }
.gateway-payer-intro > span { display: grid; width: 42px; height: 42px; place-items: center; border: 1px solid rgba(232,181,126,.24); border-radius: 50%; color: #e3ad70; background: rgba(128,54,49,.28); }
.gateway-payer-intro small,.gateway-payer-intro b,.gateway-payer-intro p { display: block; margin: 0; }
.gateway-payer-intro small { color: #d2a06f; font-size: 11px !important; letter-spacing: .1em; }
.gateway-payer-intro b { margin-top: 2px; color: #edd8cf; font-size: 13px; }
.gateway-payer-intro p { margin-top: 3px; color: #9f8582; font-size: 11px; line-height: 1.5; }
.gateway-payer-fields { display: grid; grid-template-columns: 1fr; gap: 10px; }
.gateway-payer-fields .payer-email-field { grid-column: auto; }
.gateway-payer-form { gap: 13px; }
.custom-payer-email { border: 1px solid rgba(215,165,113,.14); border-radius: 15px; padding: 10px 12px 12px; background: rgba(184,103,56,.055); }
.bottom-sheet,.full-sheet { scrollbar-width: thin; scrollbar-color: rgba(220,174,124,.28) transparent; }
.bottom-sheet::-webkit-scrollbar,.full-sheet::-webkit-scrollbar { width: 4px; }
.bottom-sheet::-webkit-scrollbar-track,.full-sheet::-webkit-scrollbar-track { background: transparent; }
.bottom-sheet::-webkit-scrollbar-thumb,.full-sheet::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(220,174,124,.28); }
@media (max-width: 360px) { .gateway-payer-channel { grid-template-columns: 44px minmax(0,1fr); } .gateway-payer-channel strong { grid-column: 2; } }

/* v59 · minimal account creation and mandatory first-use setup */
.auth-view#register-view { justify-content: center; padding-top: max(76px, env(safe-area-inset-top)); }
.auth-view#register-view .auth-copy.compact { margin-top: 0; }
.register-form { margin-top: 2px; }
.password-confirm-label > small { display: block; min-height: 17px; margin: 6px 2px 0; color: #8f7b79; font-size: 11px; line-height: 1.45; }
.password-confirm-label input.invalid { border-color: rgba(222,86,111,.82); box-shadow: 0 0 0 3px rgba(196,72,97,.11); }
.password-confirm-label input.invalid + small { color: #e08a9b; }
.account-next-note { display: grid; grid-template-columns: 38px minmax(0,1fr); gap: 11px; align-items: center; border: 1px solid rgba(221,174,120,.18); border-radius: 17px; padding: 13px; background: linear-gradient(120deg,rgba(111,26,48,.28),rgba(255,239,232,.035)); }
.account-next-note > span { display: grid; width: 38px; height: 38px; place-items: center; border: 1px solid rgba(228,181,132,.26); border-radius: 50%; color: #e0ad75; font: 700 10px var(--body); letter-spacing: .08em; }
.account-next-note p { min-width: 0; margin: 0; }
.account-next-note b,.account-next-note small { display: block; }
.account-next-note b { color: #ead8d0; font-size: 13px; line-height: 1.4; }
.account-next-note small { margin-top: 4px; color: #a28d89; font-size: 11px; line-height: 1.5; }

.onboarding-view { position: relative; min-height: 100svh; max-width: 520px; margin: 0 auto; overflow-x: hidden; overflow-y: auto; padding: max(82px,calc(env(safe-area-inset-top) + 70px)) 18px max(28px,env(safe-area-inset-bottom)); color: #f5e5dd; background: radial-gradient(ellipse at 88% 4%,rgba(174,45,73,.31),transparent 260px),radial-gradient(ellipse at -15% 70%,rgba(105,24,48,.22),transparent 300px),linear-gradient(180deg,#1a0911,#0e0609 68%,#190910); }
.onboarding-view::before,.onboarding-view::after { content: ""; position: absolute; pointer-events: none; border: 1px solid rgba(218,170,116,.14); border-radius: 50%; }
.onboarding-view::before { width: 330px; height: 150px; right: -205px; top: 128px; transform: rotate(-23deg); }
.onboarding-view::after { width: 290px; height: 290px; left: -230px; bottom: 9%; }
.onboarding-shell { position: relative; z-index: 1; width: 100%; }
.onboarding-head { display: grid; grid-template-columns: 62px minmax(0,1fr); gap: 15px; align-items: center; margin-bottom: 23px; }
.onboarding-head > img { width: 62px; height: 62px; border: 1px solid rgba(230,185,139,.2); border-radius: 50%; background: rgba(74,15,32,.65); box-shadow: 0 15px 38px rgba(2,0,1,.35); }
.onboarding-head .eyebrow { margin-bottom: 6px; }
.onboarding-head h1 { margin: 0; color: #fff0e8; font: 600 25px/1.2 var(--display); letter-spacing: -.025em; }
.onboarding-head > div > p:last-child { margin: 7px 0 0; color: #a9928e; font-size: 12px; line-height: 1.55; }
.onboarding-progress { display: grid; grid-template-columns: minmax(0,1fr) 34px minmax(0,1fr); align-items: center; margin-bottom: 16px; border: 1px solid rgba(234,198,177,.1); border-radius: 18px; padding: 12px 14px; background: rgba(255,239,232,.035); }
.onboarding-progress > span { display: flex; min-width: 0; align-items: center; gap: 8px; color: #826f70; }
.onboarding-progress > span:last-child { justify-content: flex-end; }
.onboarding-progress i { display: grid; width: 26px; height: 26px; flex: 0 0 26px; place-items: center; border: 1px solid rgba(228,188,153,.14); border-radius: 50%; font-size: 10px; font-style: normal; }
.onboarding-progress b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.onboarding-progress > em { height: 1px; background: rgba(228,188,153,.13); }
.onboarding-progress > span.active,.onboarding-progress > span.complete { color: #e8bc8b; }
.onboarding-progress > span.active i { border-color: rgba(230,179,124,.62); color: #2a1017; background: linear-gradient(145deg,#e3ba86,#b77955); box-shadow: 0 0 20px rgba(211,139,92,.2); }
.onboarding-progress > span.complete i { border-color: rgba(117,177,143,.45); color: #c9eed9; background: rgba(77,137,105,.25); }
.onboarding-card { position: relative; overflow: hidden; border: 1px solid rgba(229,181,132,.22); border-radius: 27px; padding: 20px; background: radial-gradient(circle at 100% 0,rgba(190,58,86,.2),transparent 200px),linear-gradient(140deg,rgba(60,14,30,.96),rgba(20,7,12,.96)); box-shadow: 0 25px 62px rgba(2,0,1,.4); }
.onboarding-card::after { content: "H"; position: absolute; z-index: 0; right: -15px; bottom: -38px; color: rgba(220,173,123,.035); font: italic 150px/1 var(--display); }
.onboarding-card-title { position: relative; z-index: 1; display: grid; grid-template-columns: 50px minmax(0,1fr); gap: 13px; align-items: center; margin-bottom: 20px; padding-bottom: 17px; border-bottom: 1px solid rgba(239,205,188,.1); }
.onboarding-card-title > span { display: grid; width: 50px; height: 50px; place-items: center; border: 1px solid rgba(232,184,136,.29); border-radius: 50%; color: #e4b176; background: rgba(126,30,53,.34); font: 650 12px var(--body); }
.onboarding-card-title small,.onboarding-card-title h2,.onboarding-card-title p { display: block; margin: 0; }
.onboarding-card-title small { color: #d3a06c; font-size: 10px; font-weight: 800; letter-spacing: .08em; }
.onboarding-card-title h2 { margin-top: 4px; color: #f8e7df; font: 600 22px/1.2 var(--display); }
.onboarding-card-title p { margin-top: 5px; color: #a18a87; font-size: 11px; line-height: 1.5; }
.onboarding-form { position: relative; z-index: 1; display: grid; gap: 14px; }
.onboarding-form > label { color: #c2aaa5; font-size: 13px; }
.onboarding-form input[type="number"] { width: 100%; min-height: 54px; margin-top: 7px; border: 1px solid rgba(255,221,214,.17); border-radius: 15px; padding: 0 15px; outline: none; color: #f7e6de; background: rgba(255,239,233,.055); font-size: 16px; }
.onboarding-form input[type="number"]:focus { border-color: rgba(223,174,118,.72); box-shadow: 0 0 0 3px rgba(196,72,97,.1); }
.onboarding-form label > small { display: block; margin: 7px 2px 0; color: #927d7a; font-size: 11px; line-height: 1.5; }
.onboarding-consent { display: grid; grid-template-columns: 22px minmax(0,1fr); gap: 11px; align-items: start; border: 1px solid rgba(234,194,164,.12); border-radius: 17px; padding: 14px; color: #e8d6ce !important; background: rgba(255,239,232,.035); cursor: pointer; }
.onboarding-consent input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: #c94d66; }
.onboarding-consent b,.onboarding-consent small { display: block; }
.onboarding-consent b { font-size: 13px; line-height: 1.4; }
.onboarding-consent small { margin-top: 4px; color: #9f8986; font-size: 11px; line-height: 1.45; }
.onboarding-form .app-choice-trigger { min-height: 54px; margin-top: 7px; border-color: rgba(255,221,214,.17); border-radius: 15px; color: #f4dfd5; background: rgba(255,239,233,.055); font-size: 14px; }
.onboarding-location-note { display: flex; gap: 9px; margin: 1px 0 2px; border: 1px solid rgba(223,175,120,.13); border-radius: 15px; padding: 11px 12px; color: #ad9691; background: rgba(114,27,49,.13); font-size: 11px; line-height: 1.55; }
.onboarding-location-note > span { flex: 0 0 auto; color: #d6a168; }
.profile-choice-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }

@media (min-width: 740px) {
  .onboarding-view { min-height: calc(100vh - 50px); margin-top: 25px; margin-bottom: 25px; border-radius: 30px; box-shadow: 0 28px 100px rgba(0,0,0,.55),0 0 0 1px rgba(218,170,116,.13); }
}
@media (max-width: 360px) {
  .onboarding-view { padding-right: 14px; padding-left: 14px; }
  .onboarding-card { padding: 17px; }
  .onboarding-head { grid-template-columns: 52px minmax(0,1fr); }
  .onboarding-head > img { width: 52px; height: 52px; }
  .onboarding-head h1 { font-size: 22px; }
  .profile-choice-pair { grid-template-columns: 1fr; }
}
