.gem-balance.gem-balance--refined,.discovery-account .gem-balance.gem-balance--refined{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:5px 6px 5px 10px;border:1px solid #efcde5;border-radius:999px;background:linear-gradient(135deg,#fff 12%,#fff5fc 100%);color:#56264f;box-shadow:0 2px 8px #7e315c0a,inset 0 1px 0 #fff;font-family:inherit;font-size:16px;font-weight:750;font-variant-numeric:tabular-nums;line-height:1;white-space:nowrap;cursor:pointer;transition:border-color .16s,box-shadow .16s,background .16s}
.gem-balance--refined .gem-balance-jewel{display:grid;place-items:center;width:32px;height:32px;flex:none;border-radius:50%;background:radial-gradient(circle,#fff0c2 10%,#fff0 72%)}
.gem-balance--refined .gem-balance-icon{display:block;width:30px;height:30px;flex:none;filter:drop-shadow(0 2px 2px #a16c2226)}
.gem-balance--refined .gem-balance-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:24px}
.gem-balance--refined .gem-balance-value{font-size:17px;letter-spacing:-.3px;line-height:1}
.gem-balance--refined .gem-balance-unit{color:#9c6b91;font-size:8px;font-weight:700;letter-spacing:1.1px;line-height:1;text-transform:uppercase}
.gem-balance--refined .gem-balance-plus{display:grid;place-items:center;width:28px;height:28px;margin-left:2px;flex:none;border:1px solid #ffffff60;border-radius:50%;background:linear-gradient(145deg,#ef68b3,#d64091);box-shadow:0 2px 4px #bb367c24,inset 0 1px 0 #ffffff52;color:#fff}
.gem-balance--refined .gem-balance-plus svg{display:block;width:12px;height:12px}
.gem-balance.gem-balance--refined:hover{border-color:#e5a8ce;background:linear-gradient(135deg,#fff,#ffedf9);box-shadow:0 3px 12px #9e3e7412,inset 0 1px 0 #fff}
.gem-balance--refined:focus-visible{outline:3px solid #b98bdf;outline-offset:3px}
.gem-balance.gem-balance--refined.gem-balance-store{gap:12px;min-height:46px;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;color:#35243e;cursor:default}
.gem-balance--refined.gem-balance-store .gem-balance-jewel{width:40px;height:40px}
.gem-balance--refined.gem-balance-store .gem-balance-icon{width:38px;height:38px}
.gem-balance--refined.gem-balance-store .gem-balance-value{font-size:28px}
.gem-balance--refined.gem-balance-store .gem-balance-plus{display:none}
@media(max-width:539px){.discovery-account .gem-balance.gem-balance--refined{gap:6px;min-height:40px;padding:4px 5px 4px 7px}.gem-balance--refined .gem-balance-jewel{width:27px;height:27px}.gem-balance--refined .gem-balance-icon{width:27px;height:27px}.gem-balance--refined .gem-balance-value{font-size:15px}.gem-balance--refined .gem-balance-plus{width:25px;height:25px;margin-left:0}}
@media(prefers-reduced-motion:reduce){.gem-balance.gem-balance--refined{transition:none}}

/* Persistent character art; the chat viewport hook remains the geometry owner. */
.discovery-root.feed-chat-route .spicy-chat.reference-chat .parity-chat-card {background:linear-gradient(#08070b66,#08070ba8),var(--chat-art,none) center/cover no-repeat;background-color:#141019;color:#fff}
.reference-chat .chat-topbar,.reference-chat .composer-wrap {background:#08070b96!important;border-color:#ffffff12!important;color:#fff}
.reference-chat .spicy-character-button,.reference-chat .chat-topbar .icon-button,.reference-chat .parity-mode-trigger {color:#fff}
.reference-chat .spicy-character-button .parity-chat-avatar,.reference-chat .spicy-character-button small {display:none}
.reference-chat .spicy-character-button h1 {font-size:18px}
.reference-chat .parity-mode-trigger {background:#0006;border-radius:24px;padding:10px}
.reference-chat .composer {background:#f7f3f9ed!important;color:#28202c;border:1px solid #fff4;border-radius:18px}
.reference-chat .composer textarea {background:transparent;color:#28202c}
.reference-chat .composer .icon-button {color:#483348;flex-shrink:0}
.reference-chat .chat-quick-menu {display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:18px 6px 10px}
.reference-chat .chat-quick-menu button {display:flex;align-items:center;flex-direction:column;gap:10px;background:transparent;border:0;color:white;font-size:12px;cursor:pointer}
.reference-chat .chat-quick-menu svg {box-sizing:content-box;padding:15px;background:#ffffff16;border-radius:16px;width:24px;height:24px}
.reference-chat .chat-quick-menu small {display:block;color:#efb8dc;font-size:10px}
.reference-chat .insp-panel {position:relative;inset:auto;width:100%;max-height:38vh;overflow:auto;margin:10px 0 0;background:#211825;color:#fff;border-color:#ffffff20;border-radius:18px}
.reference-chat .insp-list {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.reference-chat .insp-card {background:#ffffff10;border:1px solid #ffffff20;border-radius:12px}
.reference-chat .insp-card-text {color:#fff;font-size:13px;padding:12px;min-height:72px}
.reference-chat .insp-card-actions {display:none}
.reference-chat .chat-inspiration-skeleton {display:grid;grid-template-columns:1fr 1fr;gap:8px}
.reference-chat .chat-inspiration-skeleton i {display:grid;place-items:center;min-height:72px;background:#ffffff10;border-radius:12px}
.reference-chat .chat-inspiration-skeleton i:after {content:'';width:20px;height:20px;border:2px solid #ffffff25;border-top-color:#e5a4ce;border-radius:50%;animation:reply-card-spin .8s linear infinite}
@keyframes reply-card-spin {to{transform:rotate(360deg)}}
.chat-persona-dialog {max-width:520px}.chat-plus-lock {text-align:center;padding:30px 0}.chat-plus-lock>span {font-size:64px;color:#b793b2}.chat-persona-list {display:grid;gap:10px;margin:20px 0}.chat-persona-list>div {display:flex;gap:8px}.chat-persona-list button:not(.text-button) {flex:1;text-align:left;border:1px solid #ded0e2;background:#faf5fc;border-radius:14px;padding:14px;cursor:pointer}.chat-persona-list button[aria-pressed=true] {border-color:#ad4f91;background:#f5dfef}.chat-persona-list small {display:block;max-height:4em;overflow:hidden;margin-top:5px}
@media(max-width:600px){.reference-chat .parity-mode-trigger>span{display:none}.reference-chat .spicy-chat-header-inner{gap:5px}.reference-chat .composer{gap:2px;padding:7px}.reference-chat .composer textarea{min-width:0}.reference-chat .composer .icon-button{width:36px;min-width:36px}.reference-chat .chat-composer-foot{display:none}}
@media(prefers-reduced-motion:reduce){.reference-chat .chat-inspiration-skeleton i:after{animation:none}}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .chat-topbar .icon-button {background:#0005;color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .spicy-message-header {color:#4b3455}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .composer-wrap {background:#08070b96;color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .composer textarea {background:transparent;border:0;color:#28202c}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .chat-disclosure,.reference-chat .spicy-story-intro {color:#e8dbe9}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .spicy-character-button h1,.discovery-root.feed-chat-route .spicy-chat.reference-chat .spicy-character-button {color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .parity-mode-trigger {background:#0005;color:#fff;border-color:#ffffff30}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .chat-topbar {background:#08070b96!important}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .chat-story-heading {color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .insp-head h2 {color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .message-area h2 {color:#fff}
.discovery-root.feed-chat-route .spicy-chat.reference-chat .spicy-disclosure {color:#e8dbe9}

.dialog.bond-dialog{padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;width:min(640px,calc(100vw - 48px));max-height:calc(100dvh - 48px);border:1px solid #e1e5d8;border-radius:24px;background:radial-gradient(ellipse 65% 330px at 95% 0%,#eadedb 0%,transparent 100%),radial-gradient(ellipse 75% 340px at 0% 0%,#dbe9d6 0%,transparent 100%),#f9f8f3;color:#30372f;box-shadow:0 24px 100px #18241c38}
.bond-dialog>.dialog-close{display:none}.bond-screen{padding:0 24px 32px;min-height:680px}.bond-header{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;padding:24px 0 20px}.bond-header h2{font-family:inherit;font-size:22px;font-weight:650;text-align:center;margin:0;letter-spacing:0}.bond-header>button{display:grid;place-items:center;border:0;background:transparent;color:inherit;width:36px;height:40px;cursor:pointer}.bond-header>button svg{transform:rotate(90deg)}
.bond-identity{text-align:center;padding:4px 0 0}.bond-avatar{width:88px;height:88px;padding:4px;margin:auto;border-radius:50%;background:linear-gradient(135deg,#b8c9ad,#71866b);display:grid;place-items:center;color:#61785a}.bond-avatar img{width:100%;height:100%;object-fit:cover;object-position:center 25%;border-radius:50%;border:3px solid #fffdf8}.bond-first-met{font-size:15px;margin:13px 0 5px;line-height:1.5}.bond-current-label{font-size:11px;color:#6b7863}
.bond-stats{display:grid;grid-template-columns:repeat(3,1fr);margin:25px 0 20px;text-align:center}.bond-stats>div+div{border-left:1px solid #dce0d5}.bond-stats dt{font-size:12px;white-space:nowrap}.bond-stats dd{font-size:29px;font-weight:700;margin:4px 0 0;line-height:1.2}
.bond-dialog .relationship-stages{display:flex;gap:8px;padding:5px 0 20px;margin:0;justify-content:space-between}.bond-dialog .relationship-stages button{position:relative;flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px;padding:9px 1px;border:0;border-radius:12px;background:transparent;color:#617653;font:inherit;font-size:10px;white-space:nowrap;cursor:pointer}.bond-dialog .relationship-stages button+button:before{content:'···';position:absolute;left:-9px;top:17px;color:#b3bfa9;letter-spacing:1px}.bond-dialog .relationship-stages button[aria-pressed=true]{background:#fffefb;box-shadow:0 3px 16px #45573c05}.bond-dialog .relationship-stages button:focus-visible,.bond-header button:focus-visible{outline:2px solid #71866b;outline-offset:3px}.bond-dialog .relationship-stages button[data-locked=true]{color:#89977e}.bond-stage-symbol{position:relative;display:flex;align-items:center;justify-content:center;width:38px;height:27px}.bond-stage-symbol>svg:first-child{fill:#b8c9ad;stroke:#8fa581;filter:drop-shadow(0 2px 2px #75886a30)}.bond-stage-symbol .bond-lock{position:absolute;right:-5px;top:-3px;width:10px;height:13px;color:#939a8e}.bond-dialog .relationship-stages [data-stage=crushing] .bond-stage-symbol>svg:first-child{fill:#e6b9c4;stroke:#dca9b7}.bond-dialog .relationship-stages [data-stage=flirting] .bond-stage-symbol>svg:first-child{fill:#d2bddb;stroke:#bea9c8}.bond-dialog .relationship-stages [data-stage=falling] .bond-stage-symbol>svg:first-child{fill:#e7b6a4;stroke:#d5a28e}.bond-dialog .relationship-stages [data-stage=soulmate] .bond-stage-symbol>svg:first-child{fill:#e8d296;stroke:#d6c184}
.bond-dialog .relationship-levels{max-height:none;overflow:visible;list-style:none;display:grid;gap:10px;padding:0;margin:0}.bond-dialog .relationship-levels>li{border:1.5px solid transparent;border-radius:16px;padding:17px 19px;background:#fffefa;font-size:14px} .bond-dialog .relationship-levels>li[aria-current=step]{background:#fffefa;border-color:#829873;color:#667d58}.bond-level-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:37px}.bond-level-summary strong{display:flex;align-items:center;gap:7px;font-size:17px;font-weight:650}.bond-lock{color:#989e93;flex-shrink:0}.bond-level-summary p{font-size:13px;margin:5px 0 0;color:#87907f}.bond-dialog .relationship-levels>li[aria-current=step] p{color:#718963}.bond-level-reward{display:flex;align-items:center;gap:21px;flex-shrink:0}.bond-gem{display:flex;align-items:center;gap:8px;color:#3b4436;font-size:17px;font-weight:600}.bond-gem>svg{color:#91a780;fill:#dce8d2}.bond-gem small{display:block;font-size:9px;font-weight:400;color:#87907f}.bond-gift-symbol{font-size:22px}.bond-gift-details{font-size:11px;color:#78886b;margin-top:10px}.bond-gift-details summary{cursor:pointer}.bond-gift-details[open]{border-top:1px solid #edf0e7;padding-top:10px}.bond-gift-details>div{padding-top:10px}.bond-gift-details p{font-size:12px;line-height:1.5}.bond-gift-details .chat-gift-motion{margin-right:6px}.bond-gift-details button{margin:6px}.bond-dialog .relationship-next,.bond-status,.bond-notice{font-size:12px;line-height:1.6;text-align:center;color:#7c8872;margin:15px 0 0}
@media(min-width:700px){.bond-screen{padding:0 38px 34px}.bond-header{padding-top:28px}.bond-identity{padding-top:9px}.bond-avatar{width:96px;height:96px}.bond-stats{margin-top:28px}.bond-dialog .relationship-stages button{font-size:12px}.bond-dialog .relationship-levels>li{padding:18px 22px}}
@media(max-width:600px){.dialog.bond-dialog{padding:0;box-sizing:border-box;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;width:100%;height:100dvh;max-height:100dvh;max-width:100%;margin:0;border:0;border-radius:0}.bond-screen{min-height:100%;padding:env(safe-area-inset-top,0px) 16px max(28px,env(safe-area-inset-bottom,0px))}.bond-header{padding:22px 0 18px}.bond-header h2{font-size:20px}.bond-identity{padding-top:2px}.bond-stats{margin-top:23px;margin-bottom:18px}.bond-dialog .relationship-stages{padding-bottom:20px;gap:7px}.bond-dialog .relationship-levels>li{padding:15px 16px;min-height:72px}.bond-level-summary strong{font-size:16px}}

.bond-dialog *,.bond-dialog *::before,.bond-dialog *::after{box-sizing:border-box}

/* Amorist Daily Check-in: profile/store card and the bottom sheet (centered dialog from 640px). */
.daily-card{display:flex;align-items:center;gap:14px;width:100%;min-height:72px;margin:0 0 16px;padding:14px 16px 14px 18px;border:1px solid #efd9ea;border-radius:20px;background:linear-gradient(135deg,#fff 0%,#fff6fb 100%);color:#37283f;font:inherit;text-align:left;cursor:pointer;box-shadow:0 2px 10px #7e315c0d;transition:border-color .16s,box-shadow .16s}
.daily-card:hover:not(:disabled){border-color:#e5a8ce;box-shadow:0 4px 16px #9e3e7414}
.daily-card:focus-visible{outline:3px solid #b98bdf;outline-offset:3px}
.daily-card:disabled{cursor:default}
.daily-card-copy{display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
.daily-card-title{position:relative;display:inline-flex;align-items:flex-start;gap:4px;font-size:17px;font-weight:750;letter-spacing:-.2px}
.daily-card-dot{width:8px;height:8px;margin-top:1px;border-radius:50%;background:#e23b5a;box-shadow:0 0 0 2px #fff}
.daily-card-sub{overflow:hidden;color:#80708e;font-size:13px;text-overflow:ellipsis;white-space:nowrap}
.daily-card-track{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;width:min(34%,150px);flex:none}
.daily-card-track i{height:6px;border-radius:99px;background:#efe3f0}
.daily-card-track i.on{background:linear-gradient(90deg,#ef68b3,#b77bf0)}
.daily-card-chevron{flex:none;color:#6b5a78}

.daily-sheet{width:100%;max-width:100%;max-height:100dvh;margin:auto auto 0;padding:0;border:0;background:transparent;color:#2c2233;overflow:visible}
.daily-sheet::backdrop{background:#2a1b3366;backdrop-filter:blur(2px)}
.daily-sheet[open]{animation:daily-rise .26s cubic-bezier(.2,.8,.2,1)}
@keyframes daily-rise{from{transform:translateY(40px);opacity:0}to{transform:none;opacity:1}}
.daily-frame{position:relative;padding-top:70px}
/* Pink checker ribbon peeking above the sheet, behind the calendar. */
.daily-frame::before{content:"";position:absolute;left:4%;right:4%;top:26px;height:80px;border-radius:28px 28px 0 0;background:linear-gradient(180deg,#fff0 0,#f9dcef 90%),repeating-conic-gradient(#f3b9de 0 25%,#f9d6ec 0 50%) 0 0/20px 20px;transform:rotate(-2deg);opacity:.9}
.daily-panel{position:relative;padding:44px 18px calc(18px + env(safe-area-inset-bottom));border-radius:30px 30px 0 0;background:linear-gradient(180deg,#fae6f4 0%,#f6e9fa 46%,#efe4fb 100%);box-shadow:0 -10px 40px #6c2c5a26;text-align:center;max-height:calc(100dvh - 70px);overflow-y:auto;overscroll-behavior:contain}
.daily-hero{position:absolute;left:50%;top:0;z-index:2;width:132px;height:118px;transform:translateX(-50%);pointer-events:none}
.daily-art{display:block;width:100%;height:100%;filter:drop-shadow(0 10px 14px #b5508f40)}
.daily-close{position:absolute;top:14px;right:14px;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:50%;background:transparent;color:#5a4b62;cursor:pointer}
.daily-close:hover{background:#ffffff8c}
.daily-close:focus-visible,.daily-panel button:focus-visible{outline:3px solid #b98bdf;outline-offset:2px}
.daily-panel h2{margin:2px 0 6px;font-size:24px;font-weight:750;letter-spacing:-.4px;color:#2c2233}
.daily-sub{margin:0 0 16px;color:#7c6c86;font-size:15px}
.daily-state{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 0;color:#6b5a78}
.daily-link{border:0;background:none;color:#9954ed;font:inherit;font-weight:700;cursor:pointer}

.daily-days{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:clamp(5px,1.8vw,10px);margin:0 0 14px;padding:0;list-style:none}
.daily-day{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0}
.daily-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;aspect-ratio:1/1.08;border:2px solid transparent;border-radius:18px;background:#fff;box-shadow:0 2px 8px #8b3e7a0d}
.daily-tile b{color:#d9488f;font-size:clamp(14px,4.2vw,19px);font-weight:700;line-height:1}
.daily-coin{width:clamp(20px,6.4vw,28px);height:auto}
.daily-label{color:#3a2e42;font-size:clamp(11.5px,3.4vw,14px);white-space:nowrap}
.daily-day.is-today .daily-tile{border-color:#e46a8d;background:#fff7fa}
.daily-day.is-today .daily-label{font-weight:700}
.daily-day.is-done .daily-tile{background:#fdf1f8;opacity:.78}
.daily-check{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;width:17px;height:17px;border-radius:50%;background:linear-gradient(145deg,#ef68b3,#c447a1);color:#fff;font-size:10px;font-weight:800}

.daily-bonus{display:flex;align-items:center;gap:16px;margin:0 0 14px;padding:12px;border:2px solid transparent;border-radius:22px;background:#fff;text-align:left;box-shadow:0 2px 8px #8b3e7a0d}
.daily-bonus.is-today{border-color:#e46a8d}
.daily-bonus.is-done{opacity:.8}
.daily-bonus-amount{display:flex;align-items:center;justify-content:center;gap:6px;min-width:104px;height:60px;padding:0 12px;border-radius:16px;background:#fde9f1}
.daily-bonus-amount b{color:#d9488f;font-size:21px;font-weight:700}
.daily-bonus-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.daily-bonus-copy strong{font-size:19px;font-weight:700;color:#2c2233}
.daily-bonus-copy span{color:#8a7b93;font-size:14px}
.daily-note{display:flex;align-items:center;justify-content:center;gap:6px;margin:2px 0 14px;color:#8a7b93;font-size:13px;line-height:1.35}
.daily-note svg{flex:none}
.daily-celebrate{display:flex;align-items:center;justify-content:center;gap:6px;margin:-4px 0 14px;color:#9b2f73;font-weight:700;animation:daily-pop .4s ease-out}
@keyframes daily-pop{from{transform:scale(.9);opacity:0}to{transform:none;opacity:1}}
.daily-notice{margin:-4px 0 14px;color:#9b2f4f;font-size:14px}

.daily-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.daily-actions.is-plus{grid-template-columns:1fr}
.daily-actions button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:54px;padding:0 14px;border:0;border-radius:999px;color:#fff;font:inherit;font-size:clamp(14.5px,4vw,17px);font-weight:650;cursor:pointer;transition:filter .15s,transform .1s}
.daily-actions button:active:not(:disabled){transform:scale(.98)}
.daily-actions button:hover:not(:disabled){filter:brightness(1.05)}
.daily-actions button:disabled{cursor:default;opacity:.55}
.daily-actions:has(> :only-child){grid-template-columns:1fr}
.daily-claim{background:linear-gradient(135deg,#c78cf3,#b169ec);box-shadow:0 4px 12px #a35ee533}
.daily-double{background:linear-gradient(100deg,#e797c8 0%,#ea5c96 55%,#e8366e 100%);box-shadow:0 4px 12px #e2457a33}
.daily-crown{flex:none}

@media(min-width:640px){
  .daily-sheet{width:min(520px,calc(100vw - 32px));margin:auto}
  .daily-sheet[open]{animation-name:daily-fade}
  .daily-panel{padding:48px 26px 26px;border-radius:30px;max-height:calc(100dvh - 120px)}
  @keyframes daily-fade{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
}
@media(max-width:359px){.daily-panel{padding-inline:12px}.daily-bonus-amount{min-width:84px}.daily-actions{gap:8px}}
@media(prefers-reduced-motion:reduce){.daily-sheet[open],.daily-celebrate{animation:none}.daily-card,.daily-actions button{transition:none}}

.plus-page{max-width:650px;margin:0 auto;padding:22px 20px 110px;color:var(--text,#29252d)}.plus-page header{text-align:center;padding:12px 22px 24px}.plus-page h1{font-size:42px;letter-spacing:-1.8px;margin:10px 0}.plus-page h1 span{color:#e64c91}.plus-page header p:last-child{max-width:460px;margin:auto;color:#807580;line-height:1.6}.plus-back{background:none;border:0;color:#8d7383;font:inherit;padding:8px 0;cursor:pointer}.plus-eyebrow{color:#e64c91;font-size:12px;font-weight:800;letter-spacing:2px}.plus-emblem{display:grid;place-items:center;width:90px;height:90px;margin:18px auto;border-radius:30px;background:linear-gradient(140deg,#fbe9f8,#f7afce 55%,#e969a6);color:white;font-size:57px;box-shadow:0 14px 45px #e966a629,inset 0 0 0 1px #ffffff9c;transform:rotate(-5deg)}.plus-card{background:var(--panel,#fff);border:1px solid #eddae6;border-radius:28px;padding:28px;box-shadow:0 14px 45px #ab71900d}.plus-card h2{text-align:center;font-size:21px;margin:0 0 24px}.plus-benefits{list-style:none;padding:0;margin:0 0 28px;display:grid;gap:23px}.plus-benefits li{display:flex;gap:15px;align-items:center}.plus-benefits li>span{display:grid;place-items:center;background:#fff0f7;color:#df5695;border-radius:15px;width:44px;height:44px;flex-shrink:0;font-size:24px}.plus-benefits strong{display:block;font-size:15px}.plus-benefits small{display:block;color:#8c7e89;line-height:1.5;margin-top:4px;font-size:12px}.plus-interval{display:flex;gap:10px;margin:20px 0}.plus-interval button{flex:1;border:1.5px solid #e9dfe6;border-radius:16px;background:transparent;color:inherit;padding:15px;font:inherit;cursor:pointer;font-size:13px}.plus-interval strong{display:block;font-size:20px;margin-top:6px}.plus-interval button[aria-pressed=true]{border-color:#e85a9c;background:#fff0f7}.plus-primary{display:block;width:100%;border:0;border-radius:999px;background:linear-gradient(105deg,#dba5eb,#f0529c 65%,#f32988);color:#fff;font:inherit;font-weight:700;padding:17px 20px;cursor:pointer;min-height:54px}.plus-primary:disabled{opacity:.55;cursor:default}.plus-terms{text-align:center;font-size:11px;line-height:1.6;color:#92818c;margin:14px 0}.plus-legal{display:flex;justify-content:center;gap:20px;align-items:center;font-size:12px}.plus-legal a,.plus-legal button{color:#967787;background:none;border:0;font:inherit;text-decoration:underline;cursor:pointer}.plus-upsell{width:min(520px,100%);max-width:100%;padding:32px;text-align:center;border-radius:28px}.plus-upsell h2{font-size:26px;margin:16px 0}.plus-upsell>p:not(.plus-eyebrow){color:#91858f;line-height:1.6;margin:28px 0 34px}.plus-upsell .plus-emblem{margin:40px auto}.plus-drag{display:none}.plus-primary:focus-visible,.plus-interval button:focus-visible{outline:3px solid #a65fc5;outline-offset:3px}@media(max-width:600px){.plus-page{padding:16px 14px 100px}.plus-page h1{font-size:36px}.plus-card{padding:23px 19px}.plus-upsell{margin:auto 0 0;width:100%;padding:25px 22px max(30px,env(safe-area-inset-bottom));border-radius:28px 28px 0 0}.plus-drag{display:block;width:40px;height:4px;background:#ded5dc;border-radius:4px;margin:-10px auto 24px}}

/* Restore the already-approved evolution motion; no layout or designer resets. */
/* Animate only the confirmed fill; the shimmer never changes the progress value. */
.parity-stage-progress > span {
  position: relative;
  overflow: hidden;
  border-radius: inherit;
  transform-origin: left center;
  animation: amorist-bond-fill 700ms cubic-bezier(.22, 1, .36, 1) both;
}

.spicy-chat .parity-stage-progress > span {
  transition: width 650ms cubic-bezier(.22, 1, .36, 1);
}

.parity-stage-progress > span::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(105deg, transparent 35%, #ffffff85 50%, transparent 65%);
  animation: amorist-bond-shimmer 3.2s ease-in-out 700ms infinite both;
}

@keyframes amorist-bond-fill {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}

@keyframes amorist-bond-shimmer {
  0% { transform: translateX(-100%); }
  65%, 100% { transform: translateX(100%); }
}

@media (prefers-reduced-motion: reduce) {
  .parity-stage-progress > span,
  .spicy-chat .parity-stage-progress > span {
    animation: none;
    transition: none;
  }

  .parity-stage-progress > span::after {
    display: none;
    animation: none;
  }
}

.dialog.chat-stage-dialog,.discovery-root.feed-chat-route .dialog.chat-stage-dialog { --ink:#fff3fb; --muted:#d9c1d5; position:fixed; inset:0; width:100vw; height:100dvh; max-width:none; max-height:none; margin:0; border:0; border-radius:0; overflow:auto; color:#fff3fb; background:#100c16; box-sizing:border-box; }
.chat-stage-dialog .dialog-close,.discovery-root.feed-chat-route .chat-stage-dialog .dialog-close { position:fixed; z-index:3; top:max(18px,env(safe-area-inset-top)); right:20px; width:44px; height:44px; color:#e9d5ed; background:#ffffff0b; border-radius:50%; }
.chat-stage-orbit::before,.chat-stage-orbit::after { content:''; position:absolute; width:7px; height:7px; border-radius:50%; background:#efb3df; box-shadow:0 0 18px #e89cd1a0; }
.chat-stage-orbit::before { top:-4px; left:50%; }
.chat-stage-orbit::after { right:6%; bottom:24%; width:5px; height:5px; opacity:.65; }

/* Whispy secondary-screen geometry, with Amorist's orchid, ivory and rose identity.
   Keep these scoped: the character-art chat and Plus have their own surfaces. */
.dialog.memory-settings-dialog,
.discovery-root .dialog.memory-settings-dialog,
.discovery-root.feed-chat-route .dialog.memory-settings-dialog {
  --ink: #37283f; --muted: #80708e; --accent: #9954ed; --line: #e9e2ef;
  box-sizing: border-box; width: min(580px, calc(100vw - 40px)); padding: 0;
  max-height: calc(100dvh - 40px); border: 1px solid #e6deed; border-radius: 24px;
  color: var(--ink); background: #f0edf4; font-family: Inter, Arial, sans-serif;
}
.memory-settings-dialog > .dialog-close { display: none; }
.memory-screen, .memory-screen * { box-sizing: border-box; }
.memory-screen { display: flex; flex-direction: column; gap: 14px; min-height: 660px; padding: 0 20px 20px; }
.memory-header { position: relative; display: grid; grid-template-columns: 40px 1fr 40px; align-items: center; min-height: 80px; gap: 8px; }
.memory-header h2,
.dialog.memory-settings-dialog .memory-header h2,
.dialog.custom-memory-dialog .memory-header h2 { margin: 0; color: #37283f; text-align: center; font: 650 22px/1.3 Inter, Arial, sans-serif; letter-spacing: -.025em; }
.memory-header > button { width: 40px; height: 44px; display: grid; place-items: center; padding: 0; border: 0; background: transparent; color: #695573; cursor: pointer; }
.memory-help > summary { display: grid; place-items: center; width: 30px; height: 30px; margin: auto; border-radius: 50%; background: #9954ed; color: white; list-style: none; cursor: pointer; font-size: 22px; font-weight: 700; }
.memory-help > summary::-webkit-details-marker { display: none; }
.memory-help[open] > p { position: absolute; top: 62px; right: 0; z-index: 2; width: min(300px, 85vw); margin: 0; padding: 16px; border: 1px solid #e6daee; border-radius: 14px; background: white; box-shadow: 0 12px 35px #37283f20; color: #756582; font-size: 13px; line-height: 1.6; }
.memory-card { padding: 18px; border-radius: 18px; background: #fff; }
.memory-switch-row { display: flex; align-items: center; gap: 18px; cursor: pointer; }
.memory-switch-row > span { display: grid; flex: 1; min-width: 0; gap: 6px; }
.memory-switch-row strong { color: #37283f; font-size: 16px; font-weight: 650; }
.memory-switch-row small { color: #80708e; font-size: 13px; line-height: 1.5; }
.memory-switch-row input[role=switch] { appearance: none; position: relative; flex: 0 0 42px; width: 42px; height: 25px; margin: 0; border: 0; border-radius: 99px; background: #ddd9e2; cursor: pointer; transition: background .15s; }
.memory-switch-row input[role=switch]::after { content: ''; position: absolute; top: 3px; left: 3px; width: 19px; height: 19px; border-radius: 50%; background: white; transition: transform .15s; }
.memory-switch-row input[role=switch]:checked { background: #9954ed; }
.memory-switch-row input[role=switch]:checked::after { transform: translateX(17px); }
.memory-switch-row input:disabled { opacity: .5; cursor: default; }
.memory-budget, .memory-off { margin-top: 18px; border-top: 1px solid #eeebf1; padding-top: 22px; }
.memory-current { display: grid; gap: 5px; text-align: center; padding: 18px; border-radius: 15px; background: #f7f4fa; }
.memory-current > span { font-size: 15px; color: #665272; }
.memory-current strong { font-size: 38px; line-height: 1.2; font-weight: 650; }
.memory-current small { color: #92829d; font-size: 11px; }
.memory-slider-label { display: grid; gap: 15px; text-align: center; font-size: 15px; padding-top: 24px; }
.memory-slider-label output { justify-self: center; padding: 7px 14px; border-radius: 999px; background: linear-gradient(110deg, #b88ae5, #d86ca8); color: white; font-size: 14px; font-weight: 650; }
.memory-slider-label input { appearance: none; width: 100%; height: 28px; margin: 0; background: transparent; cursor: pointer; }
.memory-slider-label input::-webkit-slider-runnable-track { height: 10px; border-radius: 99px; background: linear-gradient(90deg, #c79aef, #d86ca8 var(--memory-fill, 0%), #f6e6f1 var(--memory-fill, 0%)); }
.memory-slider-label input::-webkit-slider-thumb { appearance: none; width: 26px; height: 26px; margin-top: -8px; border: 1px solid #f1edf5; border-radius: 50%; background: #fff; box-shadow: 0 3px 12px #49325b28; }
.memory-slider-label input::-moz-range-track { height: 10px; border-radius: 99px; background: #f6e6f1; }
.memory-slider-label input::-moz-range-progress { height: 10px; border-radius: 99px; background: linear-gradient(90deg, #c79aef, #d86ca8); }
.memory-slider-label input::-moz-range-thumb { width: 26px; height: 26px; border: 1px solid #f1edf5; border-radius: 50%; background: #fff; box-shadow: 0 3px 12px #49325b28; }
.memory-range { display: flex; justify-content: space-between; color: #92829d; font-size: 12px; }
.memory-range-description { color: #9954ed; font-size: 13px; line-height: 1.5; text-align: center; margin: 20px 0 14px; }
.memory-budget .parity-stage-progress { height: 5px; overflow: hidden; border-radius: 99px; background: #eee6f4; }
.memory-budget .parity-stage-progress > span { display: block; height: 100%; background: #b88ae5; }
.memory-off { display: grid; justify-items: center; gap: 28px; padding: 38px 18px 22px; }
.memory-off > svg { color: #c0b6c8; }
.memory-off p { margin: 0; color: #92829d; text-align: center; font-size: 14px; line-height: 1.6; max-width: 360px; }
.memory-save { display: grid; gap: 12px; margin-top: auto; padding-top: 24px; }
.memory-save > p { margin: 0; color: #665272; font-size: 14px; }
.memory-save .parity-progression-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0; }
.memory-save .parity-progression-facts > div { display: grid; gap: 4px; }
.memory-save .parity-progression-facts dt { color: #80708e; font-size: 12px; }
.memory-save .parity-progression-facts dd { margin: 0; color: #9954ed; font-size: 20px; font-weight: 650; }
.memory-save > small { color: #80708e; font-size: 11px; line-height: 1.5; }
.memory-settings-dialog .memory-save .button { display: block; width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 99px; background: #9954ed; color: white; font: 600 16px/1.4 Inter, Arial, sans-serif; cursor: pointer; }
.memory-settings-dialog .memory-save .button:disabled { background: #cbc4d2; color: #f8f5fb; cursor: default; }
.memory-screen > [role=status], .memory-screen > p, .memory-screen > .notice { margin: 0; font-size: 13px; line-height: 1.6; }
.memory-screen :is(button, input, summary):focus-visible { outline: 3px solid #9954ed; outline-offset: 4px; }

/* Match the reference's portrait halo, stage rail and white level cards. */
.dialog.bond-dialog,
.discovery-root .dialog.bond-dialog,
.discovery-root.feed-chat-route .dialog.bond-dialog { --ink: #37283f; --muted: #80708e; color: #37283f; border-color: #e6ddee; background: radial-gradient(ellipse 70% 300px at 100% 0, #f0cee4, transparent), radial-gradient(ellipse 70% 300px at 0 0, #e3dcf8, transparent), #fdf6fc; }
.bond-dialog .bond-header h2 { color: #37283f; }
.bond-dialog .bond-avatar { background: linear-gradient(140deg, #b88ae5, #d86ca8); color: #9954ed; }
.bond-dialog .bond-avatar img { border-color: #fff; }
.bond-dialog .bond-stats > div + div { border-color: #e8ddec; }
.bond-dialog :is(.bond-current-label, .relationship-next, .bond-status, .bond-notice) { color: #80708e; }
.bond-dialog .relationship-stages button { color: #9954ed; }
.bond-dialog .relationship-stages button[data-locked=true] { color: #b99bd3; }
.bond-dialog .relationship-stages button + button::before { color: #d8b8ed; }
.bond-dialog .relationship-stages button[aria-pressed=true] { background: #fff; }
.bond-dialog .bond-stage-symbol > svg:first-child { fill: #d7b9f0; stroke: #ad7fd4; filter: drop-shadow(0 2px 2px #9954ed20); }
.bond-dialog .relationship-levels > li { background: #fff; }
.bond-dialog .relationship-levels > li[aria-current=step] { background: #fff; border-color: #aa78df; color: #9954ed; }
.bond-dialog .relationship-levels > li[aria-current=step] p { color: #aa78df; }
.bond-dialog .bond-level-summary p, .bond-dialog .bond-gem small { color: #92829d; }
.bond-dialog .bond-gem { color: #53415f; }
.bond-dialog .bond-gem > svg { color: #d86ca8; fill: #f4cce4; }
.bond-dialog .bond-gift-details { color: #8950b7; }
.bond-dialog :is(.relationship-stages button, .bond-header button):focus-visible { outline-color: #9954ed; }

/* The locked persona view uses the same quiet card and prominent upgrade action. */
.chat-persona-dialog { min-height: 390px; }
.chat-persona-dialog > h2 { text-align: center; }
.chat-persona-dialog > p { text-align: center; font-size: 13px; }
.chat-persona-dialog .chat-plus-lock { display: grid; justify-items: center; gap: 14px; margin: 24px 0 0; padding: 32px 20px; border-radius: 20px; background: #faf7fd; }
.chat-persona-dialog .chat-plus-lock > span { color: #b99acc; line-height: 1; }
.chat-persona-dialog .chat-plus-lock h3, .chat-persona-dialog .chat-plus-lock p { margin: 0; }
.chat-persona-dialog .chat-plus-lock h3 { font-size: 21px; }
.chat-persona-dialog .chat-plus-lock p { color: #92829d; font-size: 14px; line-height: 1.6; }
.chat-persona-dialog .chat-plus-lock .button { min-height: 46px; padding: 12px 26px; margin-top: 7px; border-radius: 99px; background: linear-gradient(110deg, #b88ae5, #d86ca8); color: white; }

/* The mode picker is a staged choice: only Confirm applies the server change. */
.dialog.chat-mode-dialog,
.discovery-root .dialog.chat-mode-dialog,
.discovery-root.feed-chat-route .dialog.chat-mode-dialog { width: min(640px, calc(100vw - 32px)); max-height: calc(100dvh - 32px); padding: 0; color: #37283f; background: #fff; border-radius: 24px; }
.chat-mode-dialog .dialog-close { top: 14px; right: 14px; }
.chat-mode-sheet { padding: 30px 22px 24px; }
.chat-mode-sheet h2,
.discovery-root .chat-mode-dialog .chat-mode-sheet h2 { margin: 0 30px 26px; text-align: center; color: #37283f; font: 650 23px/1.3 Inter, Arial, sans-serif; letter-spacing: -.025em; }
.chat-mode-options { display: grid; gap: 12px; }
.chat-mode-options > button { display: flex; align-items: center; gap: 12px; width: 100%; min-width: 0; text-align: left; padding: 14px 12px; border: 1.5px solid transparent; border-radius: 18px; background: #f6f3f8; color: #37283f; font: inherit; cursor: pointer; }
.chat-mode-options > button[aria-checked=true] { border-color: #b780e4; background: #f3e7fa; }
.chat-mode-symbol { display: grid; place-items: center; flex: 0 0 44px; height: 48px; border-radius: 14px; background: #fff; color: #b778dc; }
.chat-mode-copy { display: grid; flex: 1; min-width: 0; gap: 6px; }
.chat-mode-copy > span:first-child { display: flex; flex-wrap: wrap; align-items: center; gap: 5px 9px; }
.chat-mode-copy strong { font-size: 15px; font-weight: 650; }
.chat-mode-copy small { padding: 3px 7px; border-radius: 9px; background: #fff; color: #8950b7; font-size: 11px; white-space: nowrap; }
.chat-mode-copy > span:last-child { color: #92829d; font-size: 12px; line-height: 1.45; }
.chat-mode-check { display: grid; place-items: center; flex: 0 0 22px; width: 22px; height: 22px; border: 1px solid #d5cbdc; border-radius: 50%; color: white; font-size: 14px; }
.chat-mode-options > button[aria-checked=true] .chat-mode-check { border-color: #9954ed; background: #9954ed; }
.chat-mode-dialog .chat-mode-confirm,
.discovery-root .chat-mode-dialog .chat-mode-confirm { display: block; width: 100%; min-height: 48px; padding: 12px 20px; border: 0; border-radius: 99px; margin-top: 16px; background: #9954ed; color: white; font: 600 16px/1.4 Inter, Arial, sans-serif; cursor: pointer; }
.chat-mode-dialog button:focus-visible { outline: 3px solid #9954ed; outline-offset: 3px; }
.chat-mode-dialog button:disabled { opacity: .5; cursor: default; }

/* Custom Memory mirrors the dedicated reference screen and retains the Plus gate. */
.dialog.custom-memory-dialog,
.discovery-root .dialog.custom-memory-dialog,
.discovery-root.feed-chat-route .dialog.custom-memory-dialog { --ink: #37283f; --muted: #80708e; width: min(580px, calc(100vw - 40px)); max-height: calc(100dvh - 40px); padding: 0; border: 1px solid #e6deed; border-radius: 24px; background: #f0edf4; color: #37283f; font-family: Inter, Arial, sans-serif; }
.custom-memory-dialog > .dialog-close { display: none; }
.custom-memory-screen { display: flex; flex-direction: column; gap: 14px; min-height: 660px; box-sizing: border-box; padding: 0 20px 20px; }
.custom-memory-screen *, .custom-memory-screen *::after { box-sizing: border-box; }
.custom-memory-card h3 { margin: 0 0 8px; color: #37283f; font-size: 16px; font-weight: 650; }
.custom-memory-card > p { margin: 0; color: #92829d; font-size: 13px; line-height: 1.5; }
.custom-memory-locked { display: grid; justify-items: center; text-align: center; gap: 15px; padding: 65px 12px 50px; margin-top: 20px; border-radius: 18px; background: linear-gradient(#faf7fd, #fff); }
.custom-memory-locked > span { color: #b8a5c6; }
.custom-memory-locked h3 { font-size: 22px; margin: 0; }
.custom-memory-locked p { margin: 0; color: #92829d; font-size: 14px; line-height: 1.6; }
.custom-memory-dialog .custom-memory-locked .button { border: 0; border-radius: 99px; padding: 13px 26px; background: linear-gradient(110deg, #b88ae5, #d86ca8); color: #fff; min-height: 48px; margin-top: 8px; }
.custom-memory-form { display: flex; flex: 1; flex-direction: column; gap: 20px; }
.custom-memory-text { display: grid; gap: 12px; padding-top: 24px; color: #756582; font-size: 13px; }
.custom-memory-text textarea { width: 100%; min-height: 240px; padding: 14px; border: 1px solid #e6daee; border-radius: 12px; background: #faf7fd; color: #53415f; font: 14px/1.65 Inter, Arial, sans-serif; resize: vertical; }
.custom-memory-text small { text-align: right; color: #92829d; font-size: 11px; }
.custom-memory-card .custom-memory-note { margin-top: 20px; font-size: 11px; }
.custom-memory-dialog .memory-save .button { display: block; width: 100%; min-height: 48px; border: 0; border-radius: 99px; padding: 12px 20px; background: #9954ed; color: white; font: 600 16px/1.4 Inter, Arial, sans-serif; cursor: pointer; }
.custom-memory-dialog .memory-save .button:disabled { background: #cbc4d2; color: #f8f5fb; cursor: default; }
.custom-memory-dialog :is(button, textarea):focus-visible { outline: 3px solid #9954ed; outline-offset: 3px; }
.custom-memory-screen > [role=status] { margin: 0; color: #8950b7; font-size: 13px; }

/* Bring older account and referral controls into the same secondary surface. */
.discovery-root .membership-model-control { color: #80708e; }
.discovery-root .membership-model-control select { background: #fff; color: #37283f; border-color: #e0d3ed; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] { text-align: left; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] > div { border: 1px solid #e9e2ef; border-radius: 18px; background: white; padding: 20px; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] h3 { color: #37283f; font-size: 18px; margin: 0 0 10px; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] label { display: grid; gap: 8px; color: #756582; font-size: 13px; margin-top: 16px; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] input { box-sizing: border-box; width: 100%; min-width: 0; min-height: 44px; padding: 12px; border: 1px solid #e0d3ed; border-radius: 12px; background: #faf7fd; color: #53415f; font: inherit; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] input:focus-visible { outline: 2px solid #9954ed; outline-offset: 2px; }
.discovery-root .membership-bottom[aria-label="Earn Gems"] .membership-button { display: inline-block; margin: 12px 0 0; }

/* Creation uses left-aligned identity fields and generous, grouped white cards. */
.discovery-root .creator-avatar-wrap { justify-content: flex-start; margin-top: -8px; }
.discovery-root .creator-avatar { width: 120px; height: 160px; }
.discovery-root .creator-section { border-radius: 18px; }
.discovery-root .creator-input { border-radius: 12px; }
.discovery-root .creator-pills button { min-height: 36px; }

@media (max-width: 600px) {
  .dialog.bond-dialog,
  .discovery-root .dialog.bond-dialog,
  .discovery-root.feed-chat-route .dialog.bond-dialog,
  .dialog.custom-memory-dialog,
  .discovery-root .dialog.custom-memory-dialog,
  .discovery-root.feed-chat-route .dialog.custom-memory-dialog,
  .dialog.memory-settings-dialog,
  .discovery-root .dialog.memory-settings-dialog,
  .discovery-root.feed-chat-route .dialog.memory-settings-dialog { width: 100%; max-width: 100%; height: 100dvh; max-height: 100dvh; margin: 0; border: 0; border-radius: 0; }
  .memory-screen { min-height: 100%; padding: env(safe-area-inset-top, 0px) 16px max(20px, env(safe-area-inset-bottom, 0px)); }
  .custom-memory-screen { min-height: 100%; padding: env(safe-area-inset-top, 0px) 16px max(20px, env(safe-area-inset-bottom, 0px)); }
  .custom-memory-text textarea { font-size: 16px; }
  .dialog.chat-mode-dialog,
  .discovery-root .dialog.chat-mode-dialog,
  .discovery-root.feed-chat-route .dialog.chat-mode-dialog { width: 100%; max-width: 100%; max-height: calc(100dvh - 20px); margin: auto 0 0; border: 0; border-radius: 28px 28px 0 0; }
  .chat-mode-sheet { padding: 28px 16px max(22px, env(safe-area-inset-bottom, 0px)); }
  .chat-mode-sheet h2,
  .discovery-root .chat-mode-dialog .chat-mode-sheet h2 { font-size: 21px; margin-bottom: 24px; }
  .chat-mode-copy strong { font-size: 14px; }
  .chat-mode-copy small { font-size: 10px; }
  .memory-header { min-height: 74px; }
  .memory-header h2,
  .dialog.memory-settings-dialog .memory-header h2,
  .dialog.custom-memory-dialog .memory-header h2 { font-size: 20px; }
  .memory-card { padding: 16px; }
  .memory-save { position: sticky; bottom: 0; background: linear-gradient(#f0edf400, #f0edf4 18px); padding-top: 28px; padding-bottom: 4px; }
  .memory-off { min-height: 250px; align-content: center; }
  .memory-slider-label input { font-size: 16px; }
  .discovery-root .membership-bottom[aria-label="Earn Gems"] > div { padding: 18px 16px; }
  .discovery-root .membership-bottom[aria-label="Earn Gems"] input { font-size: 16px; }
  .discovery-root .character-creator .creator-footer { bottom: calc(61px + env(safe-area-inset-bottom, 0px)); }
}
@media (prefers-reduced-motion: reduce) {
  .memory-switch-row input[role=switch], .memory-switch-row input[role=switch]::after { transition: none; }
}
