.member-profile-card,
.member-message-card,
.member-language-card,
.member-empty-card {
    border: 1px solid var(--card-border);
    border-radius: var(--radius-card, 20px);
    background: var(--surface);
    box-shadow: var(--shadow-card);
}

.member-profile-card { background: linear-gradient(100deg, rgb(45 33 62 / 16%), rgb(58 41 72 / 8%)), url('./dream-dusk-member-v1.webp') center / cover no-repeat; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding: var(--space-4); margin-block-end: var(--space-4); }
.ai-processing-settings { padding-block-end: env(safe-area-inset-bottom, 0px); }
.ai-processing-settings .auth-page { display: block; min-height: 100dvh; padding: 20px 16px; }
.ai-processing-card { width: min(100%, 720px); margin-inline: auto; padding: clamp(16px, 4vw, 28px); text-align: start; }
.ai-processing-card .page-header { margin-block-end: 20px; }
.ai-processing-card .page-header h1 { margin: 0; font-size: clamp(1.3rem, 4.5vw, 1.8rem); line-height: 1.35; }
.ai-processing-details { min-width: 0; }
.ai-processing-details > p { margin-block: 0 18px; line-height: 1.65; }
.ai-processing-details > h2 { margin-block: 22px 12px; font-size: 1.05rem; line-height: 1.5; }
.ai-processing-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.ai-processing-legal a { display: inline-flex; min-height: 44px; align-items: center; color: var(--violet); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ai-processor-list { display: grid; gap: 12px; margin: 0 0 20px; padding: 0; list-style: none; }
.ai-processor-card { min-width: 0; padding: 16px; border: 1px solid rgb(112 73 131 / 14%); border-radius: 16px; background: rgb(112 73 131 / 4%); }
.ai-processor-card h3 { margin: 0 0 8px; font-size: 1.05rem; line-height: 1.4; }
.ai-processor-purposes { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; line-height: 1.65; color: var(--muted); }
.ai-processor-privacy { display: inline-flex; min-height: 44px; align-items: center; margin-block-start: 4px; color: var(--violet); font-size: .9rem; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.ai-processing-details > .ai-processing-status { margin: 0; padding: 14px 16px; border-radius: 14px; background: #D5E2DD; color: var(--success); }
.ai-processing-choice { display: grid; gap: 16px; }
.ai-processing-choice label { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 10px; line-height: 1.6; }
.ai-processing-choice input[type="checkbox"] { width: 20px; height: 20px; margin-block-start: 3px; }
.ai-processing-choice .button { width: 100%; min-height: 48px; white-space: normal; }
.ai-processing-legal a:focus-visible, .ai-processor-privacy:focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: 3px; border-radius: 4px; }
.member-safety-filter { margin-block: var(--space-4); padding: var(--space-4); border: 1px solid var(--card-border); box-shadow: var(--shadow-card); border-radius: var(--radius-card, 20px); background: var(--surface); }
.member-safety-status { display: flex; align-items: center; gap: 12px; }
.member-safety-status span { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.member-safety-icon { width: 26px; height: 26px; color: var(--success); flex: none; }
.member-safety-status input { appearance: none; position: relative; width: 48px; height: 28px; margin: 0; border-radius: 28px; background: #6F567E; flex: none; }
.member-safety-status input::after { content: ''; position: absolute; inset-block-start: 4px; inset-inline-start: 4px; width: 20px; height: 20px; border-radius: 50%; background: #FFF4F8; }
.member-safety-status input:checked { background: linear-gradient(135deg, var(--cta-purple), var(--cta-pink)); }
.member-safety-status input:checked::after { inset-inline-start: 24px; }
.member-safety-toggle { position: relative; flex: none; width: 48px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.member-safety-toggle::before { content: ''; position: absolute; inset-block-start: 8px; inset-inline-start: 0; width: 48px; height: 28px; border-radius: 28px; background: #6F567E; }
.member-safety-toggle::after { content: ''; position: absolute; inset-block-start: 12px; inset-inline-start: 4px; width: 20px; height: 20px; border-radius: 50%; background: #FFF4F8; }
.member-safety-toggle[aria-checked="true"]::before { background: linear-gradient(135deg, var(--cta-purple), var(--cta-pink)); }
.member-safety-toggle[aria-checked="true"]::after { inset-inline-start: 24px; }
.member-safety-toggle:disabled { cursor: not-allowed; opacity: .6; }
.member-safety-toggle:focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: 3px; border-radius: 10px; }
.member-safety-filter .helper-copy { overflow-wrap: anywhere; margin-block: 10px 0; }
.member-identity { display: flex; flex: 1 1 180px; min-inline-size: 0; align-items: center; gap: var(--space-3); }
.member-avatar {
    display: grid;
    width: 48px;
    height: 48px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--card-border);
    border-radius: var(--radius-control);
    background: var(--surface-soft);
    color: var(--violet);
    font-size: 1.35rem;
    font-weight: 700;
}
.member-avatar svg { inline-size: 28px; block-size: 28px; }
.member-identity-copy { min-width: 0; }
.member-overline { margin: 0 0 2px; color: var(--violet); font-size: .78rem; font-weight: 600; }
.member-name { overflow-wrap: anywhere; margin: 0; font-size: clamp(1.25rem, 5vw, 1.65rem); font-weight: 700; line-height: 1.2; }
.member-account-type { margin: 5px 0 0; color: var(--muted); font-size: .88rem; }
.member-balance {
    display: inline-flex;
    max-width: 100%;
    min-inline-size: 0;
    flex: 0 1 auto;
    flex-wrap: wrap;
    gap: 5px;
    min-height: 36px;
    align-items: center;
    margin: 0;
    border-radius: 999px;
    padding: 7px 11px;
    background: var(--input);
    color: var(--violet);
    font-size: .86rem;
    font-weight: 600;
}
.member-balance strong { min-inline-size: 0; overflow-wrap: anywhere; margin-inline-end: 4px; color: var(--ink); }
.dream-gem-icon { flex: 0 0 22px; width: 22px; height: 22px; object-fit: contain; }
.member-meta-grid { display: grid; flex: 1 0 100%; min-inline-size: 0; gap: var(--space-2); padding-block-start: var(--space-3); border-block-start: 1px solid var(--card-border); }
.member-meta-card { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px var(--space-3); min-inline-size: 0; }
.member-meta-label { display: block; color: var(--muted); font-size: .8rem; font-weight: 700; }
.member-meta-value { display: block; min-inline-size: 0; overflow-wrap: anywhere; margin: 0; color: var(--ink); font-weight: 600; }
.member-guest-id { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .78rem; }
.member-language-card { margin-block: var(--space-4); padding: var(--space-4); }
.member-language-form { display: grid; gap: 10px; }
.member-language-form label { font-weight: 600; }
.member-language-form select {
    width: 100%;
    min-height: 48px;
    border: 1px solid var(--card-border, #AA88B7);
    border-radius: 14px;
    padding: 8px 10px;
    background: var(--input);
    color: var(--ink);
}
.member-language-form .button { justify-self: start; min-height: 46px; border-radius: 14px; }
.member-profile-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--space-3); margin-top: var(--space-4); }
.member-profile-actions .button { width: 100%; }
.member-guest-warning { grid-column: 1 / -1; margin: 0; color: var(--muted); line-height: 1.5; }
.member-legal-link { display: inline-flex; min-width: 0; max-width: 100%; min-height: 48px; align-items: center; border-radius: 14px; padding: 11px 13px; background: rgb(112 73 131 / 8%); color: var(--violet); overflow-wrap: anywhere; font-weight: 600; }
.member-message-card { padding: 0; border: 0; background: transparent; box-shadow: none; overflow: visible; }
.member-message-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.member-message-list > li { min-inline-size: 0; }
.member-message-row { display: grid; grid-template-columns: clamp(108px, 38%, 160px) minmax(0, 1fr); gap: 12px; padding: 6px; border: 1px solid var(--card-border); border-radius: var(--radius-card, 20px); background: var(--surface); }
.member-message-cover { position: relative; min-inline-size: 0; aspect-ratio: 1; align-self: start; overflow: hidden; border-radius: 14px; background: var(--surface-soft); }
.member-message-cover .dream-cover-link, .member-message-cover img { display: block; inline-size: 100%; block-size: 100%; }
.member-message-cover img { object-fit: cover; object-position: center top; }
.member-message-cover .portrait-placeholder, .member-message-cover--placeholder { display: grid; place-items: center; color: var(--muted); }
.member-message-cover .portrait-placeholder { block-size: 100%; }
.member-message-cover svg { inline-size: 40px; block-size: 40px; }
.member-message-cover .dream-cover-skeleton { position: absolute; inset: 0; pointer-events: none; background: var(--surface-soft); }
.member-message-cover.is-cover-ready .dream-cover-skeleton, .member-message-cover.is-cover-session-only .dream-cover-skeleton { display: none; }
.member-message-cover .dream-cover-retry { position: absolute; inset-inline-end: 4px; inset-block-end: 4px; min-inline-size: 44px; min-block-size: 44px; border: 0; border-radius: 50%; background: rgb(40 34 56 / 85%); color: white; font-size: 1.25rem; cursor: pointer; }
.member-message-link { display: flex; min-inline-size: 0; min-block-size: 44px; flex-direction: column; justify-content: space-between; align-items: stretch; gap: 12px; border-radius: 12px; color: var(--ink); }
.member-message-link:hover .member-message-open { background: rgb(112 73 131 / 14%); }
.member-message-link:focus-visible, .member-language-form select:focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: -3px; }
.member-message-cover .dream-cover-link:focus-visible, .member-message-cover .dream-cover-retry:focus-visible { outline: 3px solid var(--violet); outline-offset: -3px; }
.member-message-title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; color: var(--ink); font-size: 1.06rem; line-height: 1.4; font-weight: 650; overflow-wrap: anywhere; }
.member-message-open { display: flex; align-items: center; min-block-size: 44px; gap: 8px; padding-inline: 12px; border-radius: 14px; background: rgb(112 73 131 / 8%); }
.member-message-open > svg { inline-size: 20px; block-size: 20px; }
.member-message-chevron { margin-inline-start: auto; flex: none; color: var(--muted); font-size: 1.25rem; }
[dir="rtl"] .member-message-chevron { transform: rotate(180deg); }
.member-empty-card { display: grid; justify-items: center; gap: 10px; min-height: 232px; padding: 28px; text-align: center; }
.member-empty-card p { margin: 0; color: var(--muted); }
.member-about-card { display: grid; gap: 12px; padding: 22px; }
.member-about-card p { margin: 0; color: var(--muted); line-height: 1.7; }
.member-about-links { display: grid; gap: var(--space-3); margin-top: var(--space-4); }
.member-about-back { display: inline-flex; min-height: 48px; align-items: center; justify-content: center; border: 1px solid rgb(112 73 131 / 20%); border-radius: 14px; color: var(--violet); font-weight: 600; }
.member-feature-header { display: grid; justify-items: start; gap: 8px; }
.member-feature-header h1 { overflow-wrap: anywhere; }
.member-feature-back { display: inline-flex; min-height: 44px; align-items: center; border-radius: 14px; padding: 8px 12px; background: rgb(112 73 131 / 8%); color: var(--violet); font-weight: 600; }
.member-feature-stack { display: grid; gap: var(--space-4); min-width: 0; }
.member-feature-card { min-width: 0; border: 1px solid var(--card-border); border-radius: var(--radius-card, 20px); padding: 18px; background: var(--surface); box-shadow: var(--shadow-card); }
.member-feature-card h2 { margin: 0 0 12px; font-size: 1.1rem; overflow-wrap: anywhere; }
.member-feature-authority { margin: 0; border-radius: 16px; padding: 14px; background: rgb(112 73 131 / 8%); color: var(--ink); line-height: 1.5; overflow-wrap: anywhere; }
.member-feature-facts { display: grid; margin: 0; }
.member-feature-facts > div, .member-feature-line { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; min-width: 0; }
.member-feature-facts > div { padding: 12px 0; }
.member-feature-facts > div + div { border-top: 1px solid rgb(112 73 131 / 12%); }
.member-feature-facts dt, .member-feature-facts dd { margin: 0; overflow-wrap: anywhere; }
.member-feature-facts dt { color: var(--muted); }
.member-feature-facts dd { color: var(--ink); font-weight: 600; }
.member-feature-list { margin: 0; padding: 0; list-style: none; }
.member-feature-list > li { display: grid; gap: 8px; min-width: 0; padding: 14px 0; }
.member-feature-list > li + li { border-top: 1px solid rgb(112 73 131 / 12%); }
.member-feature-line > * { overflow-wrap: anywhere; }
.member-feature-line time { color: var(--muted); font-size: .88rem; }
.member-feature-muted { color: var(--muted); font-size: .88rem; }
.member-feature-reason { margin: 0; color: var(--muted); line-height: 1.5; overflow-wrap: anywhere; white-space: pre-wrap; }
.member-feature-empty { margin: 0; color: var(--muted); line-height: 1.5; }
.member-feature-empty h3 { margin: 0 0 6px; color: var(--ink); }
.member-feature-empty p { margin: 0; }
.member-feature-pagination { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-4); }
.member-message-pagination { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 10px; margin-block: 18px; }
.member-message-pagination > .button { min-width: 44px; min-height: 44px; max-width: 100%; white-space: normal; overflow-wrap: anywhere; text-align: center; }
.member-message-pagination [aria-disabled="true"] { opacity: .48; }
.member-message-pagination__position { min-width: 60px; text-align: center; font-variant-numeric: tabular-nums; }
.member-feature-action { display: inline-flex; min-height: 44px; min-width: 44px; align-items: center; justify-content: center; max-width: 100%; border-radius: 14px; padding: 9px 14px; text-align: center; white-space: normal; overflow-wrap: anywhere; }
.member-feature-read-all { display: flex; justify-content: flex-end; }
.member-feature-error { margin: 0 0 14px; }
.member-feature-back:focus-visible, .member-feature-action:focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: 2px; }
.member-favorites-list { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.member-favorites-list > li { min-width: 0; }
.member-favorites-link { display: flex; min-height: 44px; align-items: center; overflow-wrap: anywhere; }
.member-favorite-confirm { display: grid; gap: 14px; }
.member-favorite-confirm form { display: flex; flex-wrap: wrap; gap: 10px; }
.dream-public-publish { display: grid; gap: 12px; min-width: 0; margin-block: 18px; }
.dream-public-publish h2, .dream-public-publish p { margin: 0; overflow-wrap: anywhere; }
.dream-public-publish__preview { display: grid; gap: 10px; border: 1px solid rgb(112 73 131 / 16%); border-radius: 16px; padding: 14px; background: var(--surface); }
.dream-public-publish__preview p { white-space: pre-wrap; }
.dream-public-publish__preview strong { color: var(--violet); }
.dream-public-publish .member-feature-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dream-public-publish .button { min-height: 44px; min-width: 44px; white-space: normal; overflow-wrap: anywhere; }
.dream-public-publish .button:focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: 2px; }
[dir="rtl"] .member-feature-read-all { justify-content: flex-start; }
.destination { grid-template-rows: 24px minmax(15px, auto); gap: 2px; }
.destination-icon { display: grid; width: 24px; height: 24px; place-items: center; line-height: 1; }
.destination-icon svg { width: 20px; height: 20px; stroke: currentColor; }
.destination.is-disabled { cursor: not-allowed; color: var(--muted); opacity: .64; }
.destination.is-disabled .destination-icon { opacity: .72; }
.destination:not(.is-disabled):focus-visible { outline: 3px solid rgb(112 73 131 / 52%); outline-offset: -3px; }
[hidden] { display: none !important; }
.shell-header { display: none; min-height: 0; }
.shell-content > .page-header { padding-top: 10px; padding-bottom: 16px; }
.mobile-navigation .destination { grid-template-rows: 32px minmax(15px, auto); }
.mobile-navigation .destination.is-active .destination-icon,
.desktop-navigation .destination.is-active .destination-icon {
    width: 64px;
    height: 32px;
    border-radius: 999px;
    background: linear-gradient(135deg, var(--cta-purple), var(--cta-pink));
    color: #FFF4F8;
}

@media (min-width: 640px) {
    .member-meta-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .member-profile-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; }
    .member-profile-actions .button { width: auto; }
}

@media (min-width: 960px) {
    .shell-header { display: flex; min-height: 72px; }
    .shell-content > .page-header { padding-top: 18px; padding-bottom: 20px; }
    .desktop-navigation .destination { grid-template-columns: 64px minmax(0, 1fr); grid-template-rows: minmax(32px, auto); column-gap: 8px; align-items: center; }
    .desktop-navigation .destination-icon { justify-self: center; }
}

.member-profile-editor {
    padding: var(--space-4);
    margin-block: var(--space-4);
    border: 1px solid var(--card-border);
    box-shadow: var(--shadow-card);
    border-radius: var(--radius-card, 20px);
    background: var(--surface);
    min-inline-size: 0;
    overflow-wrap: anywhere;
}
.member-profile-open {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    inline-size: 100%;
    padding: 0;
    min-block-size: 44px;
    border: 0;
    color: inherit;
    background: transparent;
    font: inherit;
    font-weight: 700;
    text-align: start;
    min-inline-size: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    cursor: pointer;
}
.member-profile-open > span { min-inline-size: 0; }
.member-profile-open > span[aria-hidden="true"] { flex: 0 0 auto; }
[dir="rtl"] .member-profile-open > span[aria-hidden="true"] { transform: rotate(180deg); }
.member-profile-dialog {
    box-sizing: border-box;
    position: fixed;
    inset-inline: 0;
    inset-block-start: var(--profile-viewport-top, 0px);
    inset-block-end: auto;
    inline-size: 100%;
    max-inline-size: none;
    block-size: var(--profile-viewport-height, 100dvh);
    max-block-size: none;
    padding: 8px 0 0;
    margin: 0;
    border: 0;
    color: var(--ink, #392741);
    background: transparent;
    overflow: hidden;
    overscroll-behavior: contain;
}
.member-profile-dialog[open] { display: flex; justify-content: center; align-items: end; }
.member-profile-dialog::backdrop { background: rgb(29 20 43 / 48%); }
.member-profile-sheet {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    inline-size: min(100%, 38rem);
    block-size: min(740px, 100%);
    min-block-size: 0;
    max-block-size: 100%;
    margin: 0;
    border-radius: 20px 20px 0 0;
    background: var(--surface);
    box-shadow: var(--shadow-raised);
    overflow: hidden;
    overflow-wrap: anywhere;
    transform: translateY(var(--profile-drag-offset, 0px));
}
.member-profile-sheet fieldset { border: 0; margin: 0; padding: 0; min-inline-size: 0; }
.member-profile-sheet-header {
    position: relative;
    flex: 0 0 auto;
    padding: 26px 56px 12px 20px;
    touch-action: none;
    cursor: grab;
    user-select: none;
}
[dir="rtl"] .member-profile-sheet-header { padding-inline: 20px 56px; }
.member-profile-sheet-header h2 { margin: 0; font-size: 1.15rem; }
.member-profile-drag-handle { position: absolute; inset-block-start: 9px; inset-inline-start: calc(50% - 18px); inline-size: 36px; block-size: 4px; border-radius: 99px; background: var(--card-border); }
.member-profile-dismiss { position: absolute; inset-inline-end: 12px; inset-block-start: 16px; display: grid; place-items: center; inline-size: 44px; block-size: 44px; padding: 0; border: 0; border-radius: 50%; color: inherit; background: transparent; font: inherit; cursor: pointer; }
.member-profile-dismiss svg { inline-size: 24px; block-size: 24px; display: block; }
.member-profile-sheet-body { display: flex; flex: 1 1 auto; flex-direction: column; min-block-size: 0; overflow: hidden; }
.member-profile-editor-fields { display: flex; flex: 1 1 auto; flex-direction: column; min-block-size: 0; padding: 4px 20px 12px; overflow-y: auto; overscroll-behavior: contain; scrollbar-gutter: stable; }
.member-profile-editor-fields > * { flex-shrink: 0; }
.member-profile-sheet .helper-copy { margin-block: 4px; font-size: .8rem; }
.member-profile-sheet input[type="text"], .member-profile-sheet textarea {
    display: block;
    box-sizing: border-box;
    inline-size: 100%;
    min-inline-size: 0;
    margin-block: 8px;
    padding: 12px;
    border: 1px solid var(--card-border);
    border-radius: 14px;
    color: inherit;
    background: var(--input);
    font: inherit;
}
.member-profile-about { display: flex; flex: 1 0 auto; flex-direction: column; min-block-size: 160px; }
.member-profile-about > label, .member-profile-about > .helper-copy { flex-shrink: 0; }
.member-profile-sheet textarea { flex: 1 1 auto; block-size: 0; min-block-size: 90px; resize: none; overflow-y: auto; }
.member-profile-gender { margin-block: 12px !important; }
.member-profile-gender label { display: inline-flex; gap: 8px; align-items: center; margin-inline-end: 20px; }
.member-profile-editor-actions { display: flex; flex: 0 0 auto; flex-wrap: wrap; gap: 8px; padding: 8px 20px max(8px, env(safe-area-inset-bottom)); border-block-start: 1px solid var(--card-border); }
.member-profile-editor-actions .button { flex: 1 1 max-content; min-inline-size: 0; min-block-size: 44px; padding: 6px 12px; line-height: 1.2; white-space: normal; overflow-wrap: normal; }
.member-profile-sheet .member-profile-status:empty { display: none; }
.member-profile-sheet .member-profile-status { flex: 0 0 auto; max-block-size: 25%; margin: 0; padding: 8px 20px; overflow-y: auto; }
.member-profile-sheet[aria-busy="true"] .member-profile-sheet-header { cursor: default; }
.member-profile-sheet :focus-visible, .member-profile-open:focus-visible { outline: 2px solid var(--violet, #573767); outline-offset: 2px; }
@media (max-height: 400px) {
    .member-profile-sheet-header { padding-block: 20px 6px; }
    .member-profile-sheet-header h2 { line-height: 1.15; }
    .member-profile-editor-fields { padding-block: 0; }
    .member-profile-sheet textarea { padding-block: 8px; }
    .member-profile-editor-actions { gap: 6px; padding-block: 6px max(6px, env(safe-area-inset-bottom)); }
}
@media (min-width: 640px) {
    .member-profile-dialog { padding: 24px; }
    .member-profile-dialog[open] { align-items: center; }
    .member-profile-sheet { border-radius: var(--radius-card); }
}

/* D-411: shared account preference, native-style three-card chooser. */
.member-content-settings { margin-block: var(--space-4); }
.member-content-settings .member-profile-open small { display: block; color: var(--muted); margin-block-start: 4px; }
.content-preferences-dialog { border: 0; border-radius: var(--radius-card); padding: 0; width: min(580px, calc(100vw - 36px)); max-height: min(88dvh, 880px); background: var(--surface); color: var(--ink); overflow: hidden; }
.content-preferences-dialog::backdrop { background: rgb(25 18 40 / .48); }
.content-preferences-dialog form { display: flex; flex-direction: column; max-height: inherit; min-height: 0; }
.content-preferences-header { position: relative; display: flex; flex: 0 0 auto; align-items: center; gap: 12px; padding: 20px 20px 8px; padding-inline-end: 64px; }
.content-preferences-header h2 { flex: 1; min-width: 0; margin: 0; overflow-wrap: anywhere; }
.content-preferences-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 8px 20px 20px; text-align: center; }
.content-preferences-choices legend { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.content-preferences-body > p { margin: 0 0 20px; overflow-wrap: anywhere; }
.content-preferences-choices { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; border: 0; padding: 0; margin: 0; min-width: 0; }
.content-preferences-choice { display: flex; flex-direction: column; align-items: center; gap: 8px; border: 2px solid var(--card-border); border-radius: 18px; padding: 12px 8px; min-width: 0; background: var(--mist); cursor: pointer; overflow-wrap: anywhere; }
.content-preferences-choice:has(input:checked) { border-color: var(--violet); background: var(--surface-soft); }
.content-preferences-choice:has(input:focus-visible) { outline: 3px solid var(--violet); outline-offset: 2px; }
.content-preferences-choice input { align-self: start; width: 20px; height: 20px; margin: 0; accent-color: var(--violet); }
.content-preferences-choice-art { display: grid; place-items: center; width: 100%; min-height: 68px; color: var(--violet); }
.content-preferences-choice-art svg { width: 60px; height: 60px; max-width: 100%; }
.content-preferences-choice small { color: var(--muted); }
.content-preferences-footer { flex: 0 0 auto; padding: 0 20px max(20px, env(safe-area-inset-bottom)); }
.content-preferences-footer button { width: 100%; white-space: normal; overflow-wrap: anywhere; }
.content-preferences-dialog [aria-busy='true'] { pointer-events: none; opacity: .7; }
.content-preferences-dialog form[aria-busy='true'] .button::before { display: inline-block; content: ''; inline-size: 1em; block-size: 1em; margin-inline-end: .5em; vertical-align: -.1em; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: content-preference-spin .8s linear infinite; }
@keyframes content-preference-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .content-preferences-dialog form[aria-busy='true'] .button::before { animation: none; } }
@media (max-width: 369px) {
  .content-preferences-choices { grid-template-columns: 1fr; }
  .content-preferences-choice { display: grid; grid-template-columns: 22px 44px minmax(0, 1fr); text-align: start; align-items: center; }
  .content-preferences-choice input { align-self: center; }
  .content-preferences-choice-art { min-height: 44px; }
  .content-preferences-choice-art svg { width: 42px; height: 42px; }
  .content-preferences-choice small { grid-column: 3; }
}

/* Keep the warm window artwork visible; protect only identity text. */
.member-profile-card .member-identity-copy { padding: 8px 10px; border-radius: 12px; background: rgb(45 33 62 / 94%); }
.member-profile-card .member-meta-grid { padding: 10px; border-radius: 12px; background: rgb(45 33 62 / 94%); }

/* Keep the hero photograph rich; only this art-backed region uses light ink. */
.member-profile-card { --ink: #FFF4F8; --muted: #E9D0E5; --violet: #F4BFD9; --input: #392741; --surface-soft: #503A57; --card-border: #B490B5; color: var(--ink); }
.member-profile-editor { background: linear-gradient(135deg, #F2D6CC, #E8CEDF); }
.member-safety-filter { background: linear-gradient(135deg, #D5E2DD, #C4D8D2); }
.member-language-card, .member-profile-sheet { background: linear-gradient(145deg, #EADDED, #DDCEE9); }
.member-feature-card { background: linear-gradient(145deg, #EADDED, #E8CEDF); }
.member-message-row { background: linear-gradient(135deg, #F2D6CC, #E8CEDF); }
.member-message-list > li:nth-child(4n + 2) .member-message-row { background: linear-gradient(135deg, #EAD1E0, #DAB7CB); }
.member-message-list > li:nth-child(4n + 3) .member-message-row { background: linear-gradient(135deg, #D5E2DD, #C4D8D2); }
.member-message-list > li:nth-child(4n + 4) .member-message-row { background: linear-gradient(135deg, #DDD1EB, #CDBDDC); }

/* Native/PWA parity: identical member information hierarchy and sheet entries. */
.member-profile-page { max-width:780px; }
.member-profile-page .page-header h1 { font-size:24px; }
.member-profile-page .member-profile-card { min-height:132px; padding:20px; }
.member-profile-page .member-avatar { border-radius:50%; width:60px; height:60px; }
.member-profile-page .member-identity-copy { flex:1; padding:6px 10px; }
.member-profile-page .member-name { font-size:20px; }
.member-profile-page .member-profile-editor { margin-block:14px; padding:0; background:transparent; }
.member-profile-page .member-profile-open, .member-setting-entry { display:flex; width:100%; min-height:58px; align-items:center; gap:14px; border:1px solid var(--card-border); border-radius:18px; padding:12px 16px; background:var(--surface); color:var(--ink); font:inherit; text-align:start; }
.member-profile-page .member-profile-open > span:last-child, .member-setting-entry > span:last-child { margin-inline-start:auto; }
.member-setting-entry { margin-block:14px; cursor:pointer; }
.member-setting-entry small { display:block; color:var(--muted); margin-block-start:3px; font-size:.83em; }
.member-setting-symbol { font-size:24px; inline-size:24px; text-align:center; }
.member-section-heading { margin:22px 0 10px; color:var(--muted); font-size:14px; font-weight:500; }
.member-choice-sheet { position:fixed; inset:auto 0 0; margin:0 auto; width:min(100%,520px); max-height:74dvh; box-sizing:border-box; border:0; border-radius:24px 24px 0 0; padding:14px 20px max(24px,env(safe-area-inset-bottom)); overflow:auto; background:var(--surface); color:var(--ink); font:inherit; }
.member-choice-sheet:not([open]) { display:none; }
.member-choice-sheet::backdrop { background:rgb(15 10 24 / .48); }
.member-choice-handle { width:36px; height:5px; margin:0 auto 14px; border-radius:8px; background:var(--muted); touch-action:none; }
.member-choice-sheet header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-block-end:12px; }
.member-choice-sheet h2 { margin:0; font-size:20px; }
.member-choice-close { width:44px; height:44px; border:0; border-radius:50%; background:transparent; color:inherit; font-size:26px; }
.member-choice-sheet .member-language-form { display:flex; flex-direction:column; gap:14px; }
.member-choice-sheet .interface-style-card { border:0; margin:0; padding:0; background:transparent; }
.member-choice-sheet .interface-style-options { grid-template-columns:1fr; }
.member-choice-sheet .interface-style-options legend { display:none; }
.member-choice-sheet .interface-style-choice { display:grid; grid-template-columns:54px minmax(0,1fr) 24px; align-items:center; gap:14px; padding:12px; min-height:72px; }
.member-choice-sheet .interface-style-choice input { grid-column:3; grid-row:1; }
.member-choice-sheet .interface-style-choice .interface-style-swatch { grid-column:1; grid-row:1; width:52px; height:52px; }
.member-choice-sheet .interface-style-choice > span:last-child { grid-column:2; grid-row:1; }
.member-profile-page .member-profile-actions { gap:14px; }
.member-delete-entry { color:var(--danger,#DF9AB8); }
.member-profile-page .member-legal-link, .member-about-page .member-legal-link { display:flex; align-items:center; justify-content:space-between; min-height:58px; border:1px solid var(--card-border); border-radius:18px; padding:12px 16px; background:var(--surface); }
.member-about-page .member-about-links { display:grid; gap:0; border:1px solid var(--card-border); border-radius:18px; overflow:hidden; }
.member-about-page .member-legal-link { border:0; border-radius:0; }
.member-about-page .member-legal-link + .member-legal-link { border-block-start:1px solid var(--card-border); }
.member-about-page .member-legal-link::after { content:'›'; }
.member-about-page .member-feature-header { display:flex; gap:16px; align-items:center; }
.member-feature-back { display:inline-grid; place-items:center; min-width:44px; min-height:44px; }

.page-header:has(#messages-title) { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dream-ui-balance { display:inline-flex; align-items:center; gap:6px; padding:9px 12px; border:1px solid var(--card-border); border-radius:999px; color:var(--ink); background:var(--surface); text-decoration:none; font-size:14px; white-space:nowrap; }

.member-inbox-subtitle { font-size:14px; color:var(--muted); margin:-10px 0 14px; }
.member-inbox-search { display:flex; align-items:center; gap:10px; min-height:44px; padding:8px 12px; margin-block-end:14px; border:1px solid var(--card-border); border-radius:12px; background:var(--input); }
.member-inbox-search svg { flex:0 0 20px; width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.8; }
.member-inbox-search input { width:100%; min-width:0; border:0; background:transparent; color:var(--ink); font:inherit; font-size:16px; outline-offset:3px; }
.member-message-preview { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; font-size:14px; line-height:1.45; color:var(--muted); white-space:pre-line; }
.member-message-open time { font-size:12px; color:var(--muted); }
.member-message-list > li[hidden] { display:none; }
.member-message-row { min-height:150px; }
.member-message-cover { width:140px; min-width:140px; height:140px; }
@media(max-width:359px){ .member-message-cover { width:118px;min-width:118px;height:118px; } .member-message-row { min-height:134px; } }
.app-frame:has(.member-about-page) ~ .mobile-navigation { display:none; }
.member-about-page .member-feature-back { inline-size:44px; block-size:44px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; font-size:26px; }
.member-setting-icon { flex:0 0 24px;width:24px;height:24px;color:var(--muted); }
.member-profile-page .member-profile-open:has(> .member-setting-icon) { display:flex;gap:16px;align-items:center; }
.member-profile-page .member-profile-open:has(> .member-setting-icon) > span:first-of-type { flex:1;min-width:0;text-align:start; }
.member-about-links .member-legal-link { display:flex;gap:16px;align-items:center; }
@media(max-width:767px) {
    .shell-content:has(#messages-title) { box-sizing:border-box;display:flex;flex-direction:column;height:calc(100dvh - var(--mobile-navigation-height,72px));min-height:0;overflow:hidden;padding-block-end:0; }
    .shell-content:has(#messages-title) > .member-message-card { flex:1;min-height:0;overflow:auto;margin:0;overscroll-behavior:contain; }
    .shell-content:has(#messages-title) > .member-message-pagination { flex:none;justify-content:center;gap:10px;min-height:44px;margin-block:8px; }
    .member-message-pagination > .button { display:grid;place-items:center;width:44px;min-height:44px;padding:0;font-size:0;border:0;background:transparent; }
    .member-message-pagination > .button::before { font-size:25px; }
    .member-message-pagination > .button:first-child::before { content:'←'; }
    .member-message-pagination > .button:last-child::before { content:'→'; }
    :root[dir="rtl"] .member-message-pagination > .button::before { transform:scaleX(-1); }
}
.member-profile-gender { display:flex;gap:12px; }
.member-profile-gender label { position:relative;display:flex;flex:1;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--card-border);border-radius:10px;background:var(--input); }
.member-profile-gender label:has(input:checked) { border-color:var(--violet);background:var(--surface-soft);box-shadow:inset 0 0 0 1px var(--violet); }
.member-profile-gender input { position:absolute;width:1px;height:1px;opacity:0; }
.member-profile-gender label:focus-within { outline:2px solid var(--violet);outline-offset:2px; }
#member-name-hint,#member-description-hint { text-align:end;font-size:12px;margin-block:4px 12px; }
.member-language-form[data-ui-automatic] > label,.member-language-form[data-ui-automatic] > button { display:none; }
.member-feature-header { display:flex;gap:12px;align-items:center; }
.member-feature-back { font-size:0!important;inline-size:44px;block-size:44px;border:0;background:transparent; }
.member-feature-back::before { content:'←';font-size:26px; }
#member-notices-list-title { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
.app-frame:has(#member-wallet-title) ~ .mobile-navigation,.app-frame:has(#member-notices-title) ~ .mobile-navigation { display:none; }
.member-message-row{position:relative;}
.member-message-title{padding-inline-end:30px;}
.member-inbox-menu{position:absolute;inset-inline-end:3px;inset-block-start:6px;border:0;background:transparent;color:inherit;inline-size:40px;block-size:40px;font-size:24px;}
.member-inbox-menu-items{position:absolute;inset-inline-end:8px;inset-block-start:44px;z-index:4;min-inline-size:160px;padding:6px;background:var(--surface,#382443);border:1px solid var(--line,#765386);border-radius:12px;box-shadow:0 8px 24px #0005;}
.member-inbox-menu-items button{display:block;inline-size:100%;padding:12px;border:0;background:transparent;color:inherit;text-align:start;font:inherit;}
.member-inbox-editor{box-sizing:border-box;inline-size:min(360px,calc(100vw - 40px));max-block-size:calc(100dvh - 32px);overflow:auto;background:var(--surface,#382443);color:var(--ink,#fff);border:1px solid var(--line,#765386);border-radius:24px;padding:24px;}
.member-inbox-editor::backdrop{background:#0008;}
.member-inbox-editor h2{font-size:20px;margin:0 0 18px;}
.member-inbox-editor input{box-sizing:border-box;inline-size:100%;font:inherit;padding:14px;border:1px solid var(--line,#765386);border-radius:12px;background:var(--field,#ffffff0d);color:inherit;}
.member-feature-header .member-feature-read-all { margin:0;margin-inline-start:auto; }
.member-notice-done { border:0;background:transparent;color:var(--violet);min-height:44px;font:inherit;cursor:pointer; }
.member-notice-cards { padding:0;border:0;background:transparent;box-shadow:none; }
.member-notice-cards .member-feature-list { display:grid;gap:12px; }
.member-notice-cards .member-notice-card { position:relative;display:flex;align-items:center;gap:16px;min-height:76px;padding:16px;border:1px solid var(--card-border);border-radius:18px;background:var(--surface); }
.member-notice-card .member-notice-body { flex:1;min-width:0; }
.member-notice-card .member-feature-line strong { font-weight:400; }
.member-notice-card .member-feature-reason { margin:0;line-height:1.4;font-size:14px;color:var(--muted); }
.member-notice-card[data-read="false"]::after { content:'';width:8px;height:8px;border-radius:50%;background:var(--violet); }
.member-notice-card form { position:absolute;inset:0;margin:0; }
.member-notice-read { width:100%;height:100%;border:0;border-radius:18px;background:transparent;cursor:pointer; }
.member-notice-read:focus-visible { outline:2px solid var(--violet);outline-offset:3px; }
.member-inbox-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-block-start:20px;}
.member-account-deletion{display:block;padding:16px;max-inline-size:640px;margin-inline:auto;}
.member-deletion-card{margin-block:28px;padding:24px;border:1px solid var(--line,#765386);border-radius:24px;background:var(--surface,#ffffff19);}
.member-deletion-card h2{font-size:22px;}
.member-deletion-card p{line-height:1.7;}
.member-deletion-card label{display:block;line-height:1.6;margin-block:16px;}
.member-deletion-card input:not([type=checkbox]){box-sizing:border-box;display:block;inline-size:100%;margin-block-start:8px;padding:14px;border:1px solid var(--line,#765386);border-radius:12px;font:inherit;background:var(--field,#ffffff0d);color:inherit;}
.member-deletion-warning{display:block;text-align:center;font-size:42px;color:#d4627b;}
.member-deletion-submit{background:#b23c57!important;color:white!important;}
.member-deletion-information {padding:1rem .4rem;line-height:1.55}
.member-deletion-information h2 {font-size:1rem;margin:1.3rem 0 .35rem}
.member-deletion-information p {margin:0;opacity:.82;overflow-wrap:anywhere}
.member-deletion-information>.button {display:flex;margin-top:1.5rem;justify-content:center;width:100%}
.member-deletion-confirmation {width:min(27rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;text-align:center;margin:auto}
.member-deletion-confirmation::backdrop {background:rgb(0 0 0 / .5)}
.member-account-deletion{font-size:14px;}
.member-account-deletion .member-feature-header h1{font-size:22px;font-weight:600;}
.member-deletion-information h2{font-size:16px;}
.member-deletion-confirmation{width:min(296px,calc(100vw - 48px));}
.member-deletion-confirmation h2{font-weight:500;}
.member-deletion-submit{background:var(--dream-danger,#ff9cb5)!important;color:var(--dream-danger-on,#371824)!important;}
/* The cover and grid share one track; a fixed image must not overflow a percentage column. */
.member-message-row{grid-template-columns:min(140px,38vw) minmax(0,1fr);}
.member-message-row>.member-message-cover{inline-size:100%;min-inline-size:0;block-size:auto;aspect-ratio:1;}

.member-about-links .member-legal-link { justify-content:flex-start; }
.member-about-links .member-legal-link > span { flex:1; text-align:start; }
.member-inbox-counter { display:block; text-align:end; color:var(--muted); margin-block-start:4px; }
.member-legal-summary { position:fixed; inset:0; margin:0; inline-size:100%; max-inline-size:none; block-size:100dvh; max-block-size:none; padding:0; border:0; color:var(--ink); background:var(--page-backdrop); background-size:cover; overflow:auto; }
.member-legal-summary::backdrop { background:var(--mist); }
.member-legal-summary header { position:sticky; inset-block-start:0; display:flex; align-items:center; gap:12px; min-block-size:64px; padding:8px 16px; background:var(--surface); }
.member-legal-summary h1 { margin:0; font-size:20px; }
.member-legal-summary header button { inline-size:44px; block-size:44px; border:0; background:transparent; color:inherit; font-size:26px; }
.member-legal-summary-body { max-inline-size:760px; margin:auto; padding:16px 20px 32px; }
.member-legal-summary-body h2 { margin:20px 0 6px; font-size:16px; }
.member-legal-summary-body p { margin:0; line-height:1.65; }
.member-legal-summary-body .button { display:flex; min-block-size:44px; margin-block:16px 20px; white-space:normal; text-align:center; }
.member-legal-summary-icon { display:grid; place-items:center; color:var(--violet); }
.member-legal-summary-icon svg { inline-size:42px; block-size:42px; }

.member-profile-actions .member-legal-link { gap:16px; inline-size:100%; font:inherit; text-align:start; color:inherit; }
.member-profile-actions .member-legal-link > span:first-of-type { flex:1; }
.member-profile-actions .member-delete-entry { color:var(--danger); }

.app-frame:has(#member-favorites-title) ~ .mobile-navigation { display:none; }
.member-feature-header:has(#member-favorites-title) { display:flex; align-items:center; gap:12px; }
.member-favorites-empty { padding:16px 32px; text-align:center; }
.member-favorites-empty svg { inline-size:64px; block-size:64px; color:var(--violet); }
.member-favorites-empty h2 { font-size:22px; margin:16px 0 8px; }
.member-favorites-empty p { margin:0; color:var(--muted); }
.member-favorites-empty .button { display:inline-flex; margin-block-start:16px; min-block-size:48px; align-items:center; padding:8px 24px; border-radius:24px; }
.member-favorite-row { display:grid; grid-template-columns:48px minmax(0,1fr) 20px; gap:16px; align-items:center; }
.member-favorites-list { display:grid; gap:12px; }
.member-favorites-list .member-feature-list__item { padding:12px 16px; border:1px solid var(--card-border); border-radius:18px; background:var(--surface); }
.member-favorite-cover { inline-size:48px; block-size:48px; overflow:hidden; border-radius:14px; }
.member-favorite-cover img { inline-size:100%; block-size:100%; object-fit:cover; object-position:top; }
.member-favorites-link { display:grid; gap:4px; min-inline-size:0; }
.member-favorites-link span { color:var(--muted); font-size:14px; overflow-wrap:anywhere; }
@media(max-width:440px) {
.member-profile-page .member-profile-card { flex-direction:column; align-items:stretch; padding:18px; }
.member-profile-page .member-identity { flex:none; }
.member-profile-page .member-balance { align-self:flex-end; margin-block-start:2px; }
}

.member-profile-about-links { border:1px solid var(--card-border); border-radius:18px; overflow:hidden; background:var(--surface); }
.member-profile-about-links .member-legal-link { border:0; border-radius:0; }
.member-message-cover--placeholder { background:linear-gradient(135deg,#7650b5,#a481cc);color:#fff; }
.member-message-cover--placeholder .portrait-placeholder { color:#fff; }
.member-language-form[data-ui-radio-list] select { display:none; }
.member-language-choices { display:grid;gap:0; }
.member-language-choice { display:flex;align-items:center;gap:14px;min-block-size:52px;inline-size:100%;padding:12px 8px;border:0;border-radius:8px;background:transparent;color:var(--ink);text-align:start;font:inherit;font-size:14px;cursor:pointer; }
.member-language-choice::before { content:'';flex:0 0 18px;inline-size:18px;block-size:18px;box-sizing:border-box;border:2px solid var(--muted);border-radius:50%; }
.member-language-choice[aria-checked="true"]::before { border-color:var(--violet);background:radial-gradient(circle,var(--violet) 0 4px,transparent 5px); }
.member-language-choice:focus-visible { outline:2px solid var(--violet);outline-offset:-2px; }

.member-wallet-entry{display:flex;align-items:center;gap:12px;min-block-size:58px;text-align:start;}
.member-wallet-entry span:first-of-type{flex:1;}
.member-wallet-balance-line{display:flex;align-items:center;gap:14px;}
.member-wallet-balance-line h2,.member-wallet-balance-line p{margin:0;}
.member-wallet-balance-line p{margin-block-start:4px;}

/* LegalPresentation: paired native/PWA sizing; no document wording changes. */
.member-legal-summary header { min-block-size:56px; block-size:56px; padding:4px; gap:20px; z-index:2; background:var(--mist); }
.member-legal-summary h1 { min-inline-size:0; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:20px; line-height:1.3; font-weight:700; }
.member-legal-summary header button { display:grid; place-items:center; flex:0 0 48px; inline-size:48px; block-size:48px; padding:12px; }
.member-legal-summary header button svg { inline-size:24px; block-size:24px; }
[dir="rtl"] .member-legal-summary header button svg { transform:scaleX(-1); }
.member-legal-summary-body { max-inline-size:760px; font-size:14px; line-height:1.5; }
.member-legal-summary-body h2 { margin:20px 0 6px; font-size:16px; line-height:1.5; font-weight:800; }
.member-legal-summary-body p { line-height:1.5; font-weight:400; }
.member-legal-summary-body .button { display:flex; align-items:center; justify-content:center; gap:8px; min-block-size:48px; margin-block:16px 20px; padding:8px 16px; font-size:14px; line-height:1.5; font-weight:600; border-radius:24px; }
.member-legal-summary-body .button svg { flex:0 0 18px; inline-size:18px; block-size:18px; }

/* My Profile uses the same 680px / 94% sheet and floating labels as native. */
.member-profile-sheet { block-size:min(680px,94%); border-radius:24px 24px 0 0; font-size:14px;line-height:1.5; }
.member-profile-sheet-header { padding:33px 20px 12px; }
.member-profile-sheet-header h2 { font-size:20px;line-height:1.3;font-weight:700; }
.member-profile-drag-handle { inline-size:44px;block-size:5px;inset-block-start:12px;inset-inline-start:calc(50% - 22px); }
.member-profile-sheet .member-profile-dismiss { display:none; }
.member-profile-editor-fields>div:first-child,.member-profile-about { position:relative;padding-block-start:8px; }
.member-profile-editor-fields>div:first-child>label,.member-profile-about>label { position:absolute;inset-block-start:0;inset-inline-start:12px;z-index:1;padding-inline:4px;background:var(--surface);font-size:12px;line-height:16px;font-weight:400; }
.member-profile-sheet input[type="text"],.member-profile-sheet textarea { margin-block:0 4px;background:transparent;font-size:14px;line-height:1.5;border-radius:14px; }
.member-profile-sheet input[type="text"] { min-block-size:48px; }
.member-profile-sheet textarea { padding-block:16px; }
.member-profile-gender legend { font-size:14px;line-height:1.5;font-weight:500; }
.member-profile-sheet .helper-copy { font-size:12px;line-height:1.5;font-weight:400; }
.member-profile-editor-actions>[data-profile-cancel] { border:0;background:transparent;box-shadow:none; }
.member-profile-editor-actions>.button { min-block-size:48px;font-size:14px;font-weight:500; }
.member-about-page { padding:0 20px 32px; }
.member-about-page>.member-feature-header { position:sticky;top:0;z-index:3;min-height:56px;height:56px;margin:0 -20px 24px;padding:4px;gap:20px;background:var(--mist); }
.member-about-page .member-feature-header h1 { font-size:20px;line-height:1.3;font-weight:700;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
.member-about-page .member-feature-back { flex:0 0 48px;inline-size:48px;block-size:48px; }
.member-about-page .member-about-links { margin:0; }
.member-about-page .member-legal-link { min-height:56px;font-size:14px;font-weight:400; }

@media(max-width:767px) {
  .app-frame:has(.member-about-page) { width:100%;max-width:none;margin-inline:0; }
}
.member-choice-sheet { max-inline-size:100%;max-width:100%;width:min(100%,640px);max-height:75dvh;padding-block-start:12px;font-size:14px; }
.member-choice-handle { width:44px;height:5px;margin-bottom:16px; }
.member-choice-sheet header { justify-content:center;text-align:center;margin-bottom:16px; }
.member-choice-sheet h2 { font-size:20px;line-height:1.3;font-weight:700; }
.member-choice-sheet .member-choice-close { display:none; }
.member-language-choice { min-block-size:56px;gap:24px;font-weight:400; }

/* Member surface tokens aligned with native, 2026-11-02. */
#member-style-sheet header { justify-content:flex-start;text-align:start; }
#member-style-sheet .interface-style-choice { grid-template-columns:64px minmax(0,1fr) 24px;min-height:94px;padding:14px;font-weight:600; }
#member-style-sheet .interface-style-options { gap:12px; }
#member-style-sheet .interface-style-swatch { box-sizing:border-box;width:64px;height:64px;padding:8px;display:grid;grid-template:9px 1fr / 1fr 1fr;gap:6px 4px;border-radius:12px; }
#member-style-sheet .interface-style-swatch i { width:100%;height:100%; }
#member-style-sheet .interface-style-swatch i:first-child { grid-column:1 / -1;background:var(--cta-pink,#a94c8a); }
.content-preferences-dialog { font-size:14px; }
.content-preferences-header h2 { font-size:20px;line-height:1.3;font-weight:700; }
.content-preferences-dialog .member-profile-dismiss { display:grid;place-items:center; }
.content-preferences-choice { border-radius:16px;border-width:1.5px;padding:12px;gap:0; }
.content-preferences-choice-art { min-height:40px;margin:12px 0 16px; }
.content-preferences-choice-art svg { width:40px;height:40px; }
.content-preferences-choice strong { font-size:14px;font-weight:600; }
.content-preferences-choice small { margin-top:6px;font-size:14px; }
.content-preferences-choice input { width:22px;height:22px; }
.content-preferences-footer .button { min-height:48px;font-size:14px;border-radius:12px;font-weight:500; }
[data-logout-confirmation] { width:min(560px,calc(100vw - 80px));border-radius:28px; }
[data-logout-confirmation] h2 { font-size:24px;line-height:1.33;font-weight:400;margin-bottom:16px; }
[data-logout-confirmation] p { font-size:14px;line-height:1.5;font-weight:400; }
[data-logout-confirmation] .button { font-size:14px;min-height:48px;font-weight:500; }
[data-logout-confirmation] [data-logout-cancel] { background:transparent;border:0;box-shadow:none; }
.app-frame:has(#member-wallet-title),.app-frame:has(#member-favorites-title),.app-frame:has(#member-notices-title),.member-account-deletion { box-sizing:border-box;width:100%;margin-inline:auto;padding:0 20px 32px;font-size:14px; }
.member-feature-header:has(#member-wallet-title),.member-feature-header:has(#member-favorites-title),.member-feature-header:has(#member-notices-title),.member-account-deletion>.member-feature-header { position:sticky;top:0;z-index:3;height:56px;min-height:56px;margin:0 -20px 16px;padding:4px;gap:20px;background:var(--mist); }
.member-feature-header :is(#member-wallet-title,#member-favorites-title,#member-notices-title),.member-account-deletion .member-feature-header h1 { font-size:20px;line-height:1.3;font-weight:700;margin:0; }
.member-feature-header:has(:is(#member-wallet-title,#member-favorites-title,#member-notices-title)) .member-feature-back,.member-account-deletion .member-feature-back { flex:0 0 48px;width:48px;height:48px; }
[data-wallet-home] { gap:12px; }
[data-wallet-home]>h2 { font-size:16px;font-weight:600;margin:0 0 -2px; }
[data-wallet-home] .member-feature-card { background:var(--surface);border:1px solid var(--card-border);border-radius:20px; }
[data-wallet-home] .member-wallet-entry { padding:16px 18px;font-size:14px;font-weight:400; }
[data-wallet-home] .member-wallet-balance-line h2 { font-size:16px;font-weight:400; }
[data-wallet-ledger] .member-feature-authority { display:flex;gap:12px;padding:16px;border:1px solid var(--card-border);border-radius:20px;margin:0;background:var(--surface); }
[data-wallet-ledger] .member-feature-card { padding:0;background:transparent;border:0;box-shadow:none; }
[data-wallet-ledger] .member-feature-card h2 { font-size:20px;font-weight:700;margin:8px 0 10px; }
[data-wallet-ledger] .member-feature-facts { border:1px solid var(--card-border);border-radius:20px;background:var(--surface);overflow:hidden; }
[data-wallet-ledger] .member-feature-facts>div { box-sizing:border-box;display:grid;gap:4px;padding:16px;min-height:72px; }
[data-wallet-ledger] .member-feature-facts>div+div { border-color:var(--card-border); }
[data-wallet-ledger] .member-feature-facts dd { text-align:end;font-weight:400; }
.member-favorites-empty { padding:8px 12px; }
.member-favorites-empty h2 { font-size:20px;font-weight:700; }
.member-favorites-empty .button { gap:8px;border-radius:12px;font-size:14px;font-weight:500; }
.member-favorites-empty .button svg,.member-deletion-submit svg { width:18px;height:18px; }
.member-deletion-information { padding:0; }
.member-deletion-information h2 { font-weight:800;margin-top:20px; }
.member-deletion-information p { line-height:1.5;opacity:1; }
.member-deletion-warning { color:var(--violet);line-height:1; }
.member-deletion-warning svg { width:42px;height:42px; }
.member-deletion-submit { gap:8px;font-size:14px;font-weight:500;border-radius:12px;min-height:48px; }
[data-wallet-store-dialog] { position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,640px);max-width:100%;height:90dvh;max-height:90dvh;padding:12px 20px 24px;border:0;border-radius:24px 24px 0 0;font-size:14px; }
[data-wallet-store-dialog] h2 { font-size:24px;line-height:1.33;margin:16px 0 8px; }
[data-wallet-store-dialog] p { margin:0 0 12px;line-height:1.5;color:var(--muted); }
[data-wallet-store-dialog] [role=status] { border:1px solid var(--card-border);border-radius:16px;padding:16px;color:var(--ink); }
.wallet-store-handle { display:block;padding:0;border:0;background:var(--card-border);margin-inline:auto;cursor:pointer; }
.wallet-store-handle:focus-visible { outline:2px solid var(--violet);outline-offset:5px; }

/* Audited native parity, 2026-11-02. */

.member-inbox-editor { font-size:14px;line-height:1.5; }
.member-inbox-editor input { font-size:14px; }
.member-inbox-editor-actions .button { min-height:48px;font-size:14px;font-weight:500; }
.member-inbox-editor-actions .button--secondary { background:transparent;border:0;box-shadow:none; }
.member-inbox-editor[data-inbox-action="delete"] { width:min(560px,calc(100vw - 80px));border-radius:28px; }
.member-inbox-editor[data-inbox-action="delete"] h2 { font-size:24px;font-weight:400;line-height:1.33;margin-bottom:16px; }

/* Final live visual verification, 2026-11-02. */
:root[data-theme] [data-wallet-ledger] .member-feature-card { padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important; }
[data-wallet-ledger] .member-feature-facts>div { display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;min-height:72px; }
[data-wallet-ledger] .member-feature-facts dd { text-align:end!important; }
[data-wallet-ledger] .member-feature-authority::before { content:'';flex:0 0 24px;width:24px;height:24px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20transform%3D%22translate%280%20512%29%20scale%281%20-1%29%22%20d%3D%22M256%20491%2064%20405V277C64%20159%20146%2048%20256%2021C366%2048%20448%20159%20448%20277V405L256%20491ZM405%20277C405%20181%20342%2092%20256%2065C170%2092%20107%20181%20107%20277V378L256%20444L405%20378V277ZM158%20265%20128%20235%20213%20149%20384%20320%20354%20350%20213%20210%20158%20265Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
.wallet-information-icon { flex:0 0 20px;width:20px;height:20px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20512%20512%22%3E%3Cpath%20transform%3D%22translate%280%20512%29%20scale%281%20-1%29%22%20d%3D%22M235%20363H277V320H235V363ZM235%20277H277V149H235V277ZM256%20469C138%20469%2043%20374%2043%20256C43%20138%20138%2043%20256%2043C374%2043%20469%20138%20469%20256C469%20374%20374%20469%20256%20469ZM256%2085C162%2085%2085%20162%2085%20256C85%20350%20162%20427%20256%20427C350%20427%20427%20350%20427%20256C427%20162%20350%2085%20256%2085Z%22%2F%3E%3C%2Fsvg%3E") center/contain no-repeat; }
[data-wallet-store-dialog] p[role=status] { display:flex;align-items:center;gap:12px; }
[data-logout-confirmation] h2 { font-size:24px;font-weight:400;line-height:1.33; }
.interface-style-choice { font-size:14px;font-weight:400; }
.member-choice-sheet h2 { font-size:20px; }
