/* One palette for every route; image captions keep their own dark scrim. */
:root{color-scheme:dark;--lilac:#bd9bfa;--focus-ring:var(--accent)}
.appearance-toggle{display:inline-flex;align-items:center;gap:3px;flex:none;height:38px;padding:3px;border:1px solid var(--line);border-radius:30px;background:var(--panel2);color:var(--muted);cursor:pointer}.appearance-toggle span{display:grid;place-items:center;width:29px;height:29px;border-radius:50%;font-size:20px;line-height:1}.appearance-moon{background:var(--panel3);color:var(--text)}.appearance-toggle:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}.auth-appearance{position:fixed;right:24px;top:20px;z-index:60}
:root[data-appearance=light]{color-scheme:light;--bg:#fff;--panel:#fff;--panel2:#f7f4fb;--panel3:#eee8f5;--text:#17131d;--muted:#625b70;--faint:#71677e;--line:#24132e24;--lilac:#8652c1;--focus-ring:#8643bd;--shadow:0 12px 36px #35204d0c}
[data-appearance=light] body{background:var(--bg);color:var(--text)}
[data-appearance=light] .appearance-sun{background:#f8d6ea;color:#5f2147}[data-appearance=light] .appearance-moon{background:transparent;color:var(--muted)}
[data-appearance=light] :is(.joi-topbar,.mobile-nav){background:#fffffff5;border-color:var(--line)}
[data-appearance=light] :is(.joi-wordmark,.primary-nav button,.icon-button,.account-menu button,.nav-btn,.chat-person,.chat-heading,.chat-person strong,.composer,.option,.segmented button,.auth-tabs button,.metric-head,.memory-chip,.review-block,.creator-title h1,.creator-question){color:var(--text)}
[data-appearance=light] :is(.icon-button,.account-menu,.sidebar,.segmented,.auth-tabs,.option,.review-block,.review-grid,.mode-banner,.legal-note,.memory-chip,.memory-item,.goal-item,.routine-item,.social-item,.world-state-mini,.evolution-grid span,.voice-lab,.creator-console,.provider-choice-card,.media-card,.model-card,.status-card,.sticker-picker,.chat-media-tray,.prompt-shell,.creator-preview,.preview-data){background:var(--panel2);border-color:var(--line)}
[data-appearance=light] :is(.input,.select,.textarea,input,select,textarea){color:var(--text);border-color:var(--line)}
[data-appearance=light] :is(input,textarea)::placeholder{color:var(--faint);opacity:1}
[data-appearance=light] :is(.btn,.pill,.tag,.balance,.discovery-categories button,.filter-btn,.stat,.creator-row,.ref-card,.price-card,.studio-card,.card){border-color:var(--line)}
[data-appearance=light] :is(.btn-primary,.auth-submit,.account-button){color:var(--accent-ink)}
[data-appearance=light] :is(.nav-btn.active,.segmented button.active,.auth-tabs button.active,.option.selected,.provider-choice-card.selected,.discovery-categories button.active){background:#f2e8fc;color:#482365;border-color:#b896d6}
[data-appearance=light] .gradient-text{background:linear-gradient(110deg,#b32978,#7840b3);background-clip:text;-webkit-background-clip:text;color:transparent}
[data-appearance=light] :is(.eyebrow,.legal-note,.mode-banner,.preview-row,.preview-row strong,.summary-text,.relationship-note,.routine-item span,.social-item span,.memory-item span,.memory-item small,.life-ribbon,.life-ribbon span){color:var(--muted)}
[data-appearance=light] :is(.bar,.metric .bar){background:var(--panel3)}
[data-appearance=light] .discovery-banner{background:#f5eefa;box-shadow:var(--shadow)}
[data-appearance=light] .discovery-banner:after{background:linear-gradient(90deg,#faf4fc 8%,#faf4fc 40%,#faf4fca6 67%,transparent)}
[data-appearance=light] :is(.discovery-banner h1,.discovery-banner p,.discovery-banner .eyebrow){color:var(--text)}
[data-appearance=light] .discovery-banner .eyebrow{color:#854099}
[data-appearance=light] .create-character-card{background:linear-gradient(140deg,#fff6fb,#f0e8fc);border:1px solid #d8c1e8;color:var(--text)}
[data-appearance=light] .create-character-card :is(strong,span,p){color:var(--text)}
[data-appearance=light] .portrait-empty{background:var(--panel2);color:var(--muted)}
[data-appearance=light] :is(.character-meta,.experience-tile>span,.auth-brand){color:#fff}
[data-appearance=light] .auth-brand :is(h1,p,.eyebrow,.auth-points,.gradient-text){color:#fff;background:none;-webkit-text-fill-color:#fff}
[data-appearance=light] .auth-card{box-shadow:var(--shadow)}
[data-appearance=light] :is(.chat-person.active,.chat-person:hover){background:var(--panel2)}
[data-appearance=light] .bubble.user{background:#fbe4f1;border-color:#e6bfd6;color:var(--text)}
[data-appearance=light] .bubble.assistant{background:#f5f1fa;border-color:#e1d7ed;color:var(--text)}
[data-appearance=light] :is(.bubble time,.bubble-meta,.stage-caption p,.chat-media-tray figcaption){color:var(--muted)}
[data-appearance=light] .joi-shell .inspector{background:var(--panel);border-color:var(--line)}
[data-appearance=light] :is(.profile-modal-art,.stage-art,.welcome-avatar){background:var(--panel2)}
[data-appearance=light] .welcome-call{color:#9f286c;border-color:#ce7eaf;background:#fff1f8}
[data-appearance=light] .companion-profile-dialog{border-color:var(--line)}
[data-appearance=light] .companion-profile-dialog::backdrop{background:#21162b70}
[data-appearance=light] .companion-wizard{color:var(--text)}
[data-appearance=light] .wizard-panel{box-shadow:var(--shadow);border-color:var(--line)}
[data-appearance=light] .wizard-heading :is(h2,p){color:var(--text)}
[data-appearance=light] .wizard-heading>span{background:#f0e7fa;border-color:#ded0ec;color:#62417f}
[data-appearance=light] .wizard-progress>span{background:#f7deee;color:#71334f;border-color:#e8bed7}
[data-appearance=light] :is(.wizard-choice,.wizard-advanced,.wizard-custom,.wizard-summary>div){border-color:var(--line);color:var(--text)}
[data-appearance=light] .wizard-choice:not(.picture-choice){background:var(--panel)}
[data-appearance=light] .wizard-choice.selected:not(.picture-choice){background:#f9e5f1;border-color:var(--accent)}
[data-appearance=light] .wizard-genders .wizard-choice.selected{background:var(--accent);color:var(--accent-ink)}
[data-appearance=light] .companion-wizard :is(.input,.textarea,.select){background:var(--panel);color:var(--text);border-color:var(--line)}
[data-appearance=light] .companion-wizard [data-range=age]{color:var(--text)}
[data-appearance=light] .companion-wizard .wizard-nav .btn{background:var(--panel2);color:var(--text);border-color:var(--line)}
[data-appearance=light] .companion-wizard .wizard-nav .btn-primary{background:var(--accent);color:var(--accent-ink)}
[data-appearance=light] .wizard-voices>div{background:#efe7f7}
[data-appearance=light] .voice-preview{color:#5c396d;border-color:#c9b1da}
[data-appearance=light] .wizard-review-card>span:last-child{color:#fff}
[data-appearance=light] .wizard-review-card small{color:#eee7f4}
[data-appearance=light] #wizard-error{color:#a51e4b}
[data-appearance=light] .theme-draft-bar{background:#fae5f2;color:#572747}
[data-appearance=light] :is(.theme-controls,.theme-asset,.theme-visual-preview){background:var(--panel);border-color:var(--line)}
[data-appearance=light] .toast{background:#fff;color:var(--text);border:1px solid var(--line);box-shadow:var(--shadow)}
[data-appearance=light] a{color:#763caa}
[data-appearance=light] :is(button,input,textarea,select,summary):focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
@media(max-width:760px){.appearance-toggle{height:34px}.appearance-toggle span{width:25px;height:25px;font-size:18px}.joi-account{gap:5px}.theme-edit-link{display:none}.auth-appearance{top:12px;right:12px}}
