/* Every member brings their own palette. Decorations never intercept a click. */
.world-manga {
 --paper:#f4f1e9;--ink:#202027;--muted:#595862;--line:#aaa7a1;--purple:#383345;--accent:#625177;--mint:#4e6257;
 --panel:#fffefa;--panel-raised:#eae6df;--field:#fffefa;--tint:#e7e3dd;--pill:#e8e4df;--button-ink:#fff;
 --danger:#a1253c;--radius:3px;--shadow:4px 4px 0 #25232a18;
 --world-art:radial-gradient(#34313b22 1px,transparent 1px);color-scheme:light;
}
.world-comic {
 --paper:#fff4d6;--ink:#252435;--muted:#61505a;--line:#8a7972;--purple:#743449;--accent:#a33630;--mint:#2e6476;
 --panel:#fffdf3;--panel-raised:#ffe8a2;--field:#fffef9;--tint:#ffe6a1;--pill:#ffe8bb;--button-ink:#fff;
 --danger:#ad2436;--radius:10px;--shadow:4px 4px 0 #29253624;
 --world-art:radial-gradient(#be4a4129 1.5px,transparent 1.5px);color-scheme:light;
}
.world-tavern {
 --paper:#231812;--ink:#fff1d9;--muted:#d8bea0;--line:#705039;--purple:#efc18a;--accent:#eab173;--mint:#b8ca9a;
 --panel:#33251b;--panel-raised:#443120;--field:#261c15;--tint:#4a3423;--pill:#503825;--button-ink:#281a10;
 --danger:#ffb4a5;--radius:10px;--shadow:0 10px 28px #10090240;
 --world-art:repeating-linear-gradient(0deg,#b7803d0b 0px,#b7803d0b 1px,transparent 1px,transparent 13px);color-scheme:dark;
}
.world-starship {
 --paper:#071c24;--ink:#e4faff;--muted:#a7cbd3;--line:#316371;--purple:#8fe3e5;--accent:#a5bcfa;--mint:#e7d69f;
 --panel:#102b36;--panel-raised:#163c47;--field:#0a222c;--tint:#1c414c;--pill:#234653;--button-ink:#0c2530;
 --danger:#ffb6ce;--radius:6px;--shadow:0 10px 35px #000b;
 --world-art:linear-gradient(45deg,#52ded710,transparent 70%);color-scheme:dark;
}
.profile-skin { color:var(--ink);background:var(--panel);font-family:var(--reading-font,Inter,sans-serif); }
.profile-skin .small,.profile-skin .member-recency { color:var(--muted); }
.profile-skin h2,.profile-skin h3 { font-family:var(--display-font,Cinzel,serif); }
.member-person { position:relative;align-self:start; }
.member-person.voice-open { z-index:3; }
.member-person .portrait { background:linear-gradient(145deg,var(--tint),var(--panel)); }
.member-person .portrait .initial { font-family:var(--display-font);color:var(--purple); }
.member-person .person-body { background:var(--panel); }
.ornamented-media { position:relative;isolation:isolate; }
.member-world-banner { margin:0 0 1.5rem;overflow:hidden;border-radius:var(--radius); }
.member-world-banner .member-banner { display:block;width:100%;margin:0;max-height:280px;object-fit:cover; }
.member-world-banner .illustrated-banner { height:200px; }
.member-dialog.profile-skin { background:var(--panel);color:var(--ink);border-color:var(--line); }
.member-dialog.profile-skin .welcome-close { z-index:8;background:var(--panel);color:var(--ink); }

/* Dialogue boxes: readable text, independent of the site's heading font. */
.profile-voice { position:relative;z-index:4;min-width:0; }
.voice-always { padding:14px;background:var(--panel); }
.quote-box { position:relative;padding:18px 20px 23px;border:2px solid var(--line);background:var(--panel);color:var(--ink);border-radius:10px;text-align:left;overflow-wrap:anywhere;min-width:0; }
.quote-speaker { display:block;margin-bottom:10px;font:700 10px/1.4 Inter,system-ui,sans-serif;letter-spacing:1.3px;text-transform:uppercase;color:inherit; }
.quote-box p.quote-words { margin:0;font:400 15px/1.75 Inter,system-ui,sans-serif;color:inherit;white-space:pre-wrap;overflow-wrap:anywhere; }
.quote-cursor { position:absolute;right:11px;bottom:6px;font-size:9px;line-height:1;color:inherit;opacity:.75; }
.quote-rpg { border:3px solid #bdc8dd;border-radius:6px;background:linear-gradient(135deg,#263d9f 0%,#17255f 58%,#10182f 100%);color:#fff;box-shadow:inset 0 0 0 2px #526486,0 0 0 1px #0b122c,0 5px 0 #07102252; }
.quote-rpg .quote-speaker { font:400 10px/1.8 'Press Start 2P',monospace;letter-spacing:0;text-transform:none; }
.quote-rpg p.quote-words { font:400 11px/2 'Press Start 2P',monospace;letter-spacing:0;text-shadow:1px 2px #050d30; }
.quote-pixel { border:4px solid #243d27;border-radius:0;background:#d4df9d;color:#243d27;box-shadow:inset 0 0 0 3px #9caf70,4px 4px 0 #243d2760; }
.quote-pixel p.quote-words,.quote-pixel .quote-speaker { font-family:'Press Start 2P',monospace;font-size:10px;line-height:2;letter-spacing:0; }
.quote-manga { border:3px solid #24232c;border-radius:2px 16px 2px 2px;background:radial-gradient(#26212a18 .75px,transparent .75px) 0 0/5px 5px,#fffefa;color:#211e29;box-shadow:4px 4px 0 #24232c; }
.quote-manga .quote-speaker { display:inline-block;background:#25232b;color:#fff;padding:3px 8px; }
.quote-manga p.quote-words { font-family:'DM Serif Display',Georgia,serif;font-size:19px;line-height:1.5;font-style:italic; }
.quote-comic { border:3px solid #252336;border-radius:13px 4px 13px 4px;background:radial-gradient(#e1ad3b4a 1px,transparent 1px) 0 0/6px 6px,#ffe693;color:#252336;box-shadow:5px 5px 0 #ee6858; }
.quote-comic .quote-speaker { display:inline-block;background:#a92b38;color:#fff;padding:4px 7px;letter-spacing:.5px; }
.quote-comic p.quote-words { font:500 19px/1.45 Fredoka,system-ui,sans-serif; }
.quote-tavern { border:3px double #c99d63;border-radius:7px;background:repeating-linear-gradient(0deg,#2d1d1240 0,#2d1d1240 1px,transparent 1px,transparent 8px),linear-gradient(120deg,#492c1a,#281e16);color:#ffe8ba;box-shadow:inset 0 0 0 5px #533721,0 4px 0 #1f130c; }
.quote-tavern .quote-speaker { font-family:Cinzel,Georgia,serif;letter-spacing:2px;border-bottom:1px solid #b88d4d66;padding-bottom:8px; }
.quote-tavern p.quote-words { font:400 19px/1.5 'DM Serif Display',Georgia,serif; }
.quote-scroll { border:1px solid #ab7944;border-inline:7px solid #c4995c;border-radius:14px 4px;background:linear-gradient(90deg,#e2bb7c,#fae6b5 16%,#fae6b5 83%,#dcba7a);color:#513720;box-shadow:0 4px 0 #97734340; }
.quote-scroll .quote-speaker { font-family:Cinzel,Georgia,serif;letter-spacing:1.5px; }
.quote-scroll p.quote-words { font:400 20px/1.5 'DM Serif Display',Georgia,serif; }
.quote-bubble { background:var(--panel-raised);border:2px solid var(--purple);border-radius:23px 23px 23px 4px;color:var(--ink); }
.quote-bubble p.quote-words { font-family:Nunito,Inter,sans-serif;font-size:16px; }
.quote-holo { border:1px solid #74e3dc;border-left:4px solid #74e3dc;border-radius:0 16px 0 0;background:repeating-linear-gradient(0deg,#7aedeb08 0px,#7aedeb08 1px,transparent 1px,transparent 4px),#0a2837;color:#d8fbff;box-shadow:inset 0 0 25px #63ddd318,0 0 10px #63ddd318; }
.quote-holo .quote-speaker { color:#9beced;font-family:'Space Grotesk',sans-serif; }
.quote-holo p.quote-words { font-family:'Space Grotesk',Inter,sans-serif;font-size:16px; }
.quote-cozy { border:1px solid #b28c6a;border-radius:5px 5px 17px 5px;background:linear-gradient(135deg,#fff3d9,#fbe8cb);color:#614337;box-shadow:3px 4px 0 #b28c6a40; }
.quote-cozy::before { content:'';width:44px;height:14px;background:#dba79ea6;position:absolute;top:-7px;left:calc(50% - 22px);transform:rotate(-3deg); }
.quote-cozy p.quote-words { font:600 17px/1.6 Nunito,sans-serif; }
.quote-crystal { border:1px solid #a69ad1;border-radius:2px 19px 2px 19px;background:linear-gradient(130deg,#efe9ff,#d9d7f5 65%,#e7f2ff);color:#403661;box-shadow:inset 0 0 0 4px #ffffff61,0 3px 14px #a296c940; }
.quote-crystal .quote-speaker { font-family:Cinzel,Georgia,serif; }
.quote-crystal p.quote-words { font:400 19px/1.5 'DM Serif Display',Georgia,serif; }
.voice-trigger { width:100%;min-height:48px;display:flex;align-items:center;gap:8px;padding:10px 13px;border:0;border-bottom:1px solid var(--line);border-radius:0;background:var(--panel-raised);color:var(--ink);text-align:left;font:500 11px/1.5 Inter,sans-serif; }
.voice-trigger>span:nth-child(2) { flex:1;overflow-wrap:anywhere; }
.voice-trigger-icon { display:flex;color:var(--purple);flex-shrink:0; }
.voice-trigger-icon svg { width:17px;height:17px; }
.voice-trigger-action { font-size:9px;color:var(--muted); }
.voice-trigger[aria-expanded=true] { color:var(--purple); }
.voice-panel { position:absolute;top:100%;left:0;right:0;padding:10px;background:var(--panel);box-shadow:0 13px 22px #0005;border-bottom:1px solid var(--line);z-index:5; }
.voice-panel .quote-box { padding-right:32px; }
.voice-close { position:absolute;right:17px;top:16px;width:28px;height:28px;display:grid;place-items:center;border:1px solid #bbc4d2;border-radius:50%;color:#192436;background:#fff;line-height:1;font-size:18px; }
.member-person .quote-box { padding:13px 16px 20px; }
.member-person .voice-panel .quote-box { padding-right:31px; }
.member-person .quote-rpg p.quote-words,.member-person .quote-pixel p.quote-words { font-size:10px;line-height:1.9; }
.member-person .quote-speaker { font-size:9px; }

/* Lightweight CSS motion, with per-member, viewer, and OS controls. */
.profile-charms { display:flex;align-items:center;justify-content:center;gap:15px;padding:12px 16px;background:var(--panel-raised);color:var(--purple);border-bottom:1px solid var(--line);min-height:58px;pointer-events:none; }
.profile-charm { display:grid;place-items:center;flex-shrink:0;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:var(--panel);color:var(--purple);box-shadow:0 3px 9px #0001; }
.profile-charm svg { width:21px;height:21px; }
.profile-charm:nth-child(2) { color:var(--accent); }
.profile-charm:nth-child(3) { color:var(--mint); }
.charms-frame { position:absolute;z-index:3;top:12px;right:12px;left:auto;display:flex;flex-direction:column;gap:10px;background:none;border:0;padding:0; }
.charms-float .profile-charm { animation:profile-float 4s ease-in-out infinite; }
.charms-float .charm-1 { animation-delay:-1.3s; }
.charms-float .charm-2 { animation-delay:-2.6s; }
@keyframes profile-float { 0%,100%{transform:translateY(2px) rotate(-4deg)}50%{transform:translateY(-4px) rotate(4deg)} }
body[data-profile-motion=off] .profile-charm { animation:none!important;transform:none!important; }

/* The editor shows real box designs and the same renderer members will see. */
.expression-editor { background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(18px,3vw,32px);margin:16px 0 28px; }
.expression-editor .section-head h3 { font-size:clamp(23px,3vw,32px);margin:0 0 7px; }
.expression-workspace { display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:32px;margin:24px 0;align-items:start; }
.expression-controls { min-width:0; }
.expression-controls label { font-size:12px; }
.expression-controls textarea { resize:vertical;min-height:110px;border:1px solid var(--line);padding:14px;border-radius:9px;background:var(--field);color:var(--ink);font:400 15px/1.6 var(--reading-font,Inter,sans-serif); }
#status-count { float:right;font-size:10px;color:var(--muted);font-weight:400; }
.expression-controls>select { margin-bottom:20px; }
.expression-two-fields { display:grid;grid-template-columns:1fr 1fr;gap:12px; }
.expression-two-fields select { display:block;margin-top:8px; }
.charm-picker { border:0;margin:0 0 22px;padding:0; }
.charm-picker legend { margin-bottom:11px;font-size:12px;font-weight:600; }
.charm-picker legend small { margin-left:8px;font-weight:400;color:var(--muted); }
.charm-choices { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px; }
.charm-choice { display:flex;flex-direction:column;align-items:center;gap:7px;padding:12px 5px;min-height:68px;background:var(--panel-raised);color:var(--muted);border:1px solid var(--line);border-radius:9px;font-size:10px; }
.charm-choice svg { width:23px;height:23px; }
.charm-choice[aria-pressed=true] { color:var(--purple);border-color:var(--purple);background:var(--tint);box-shadow:inset 0 0 0 1px var(--purple); }
.expression-preview-wrap { border:0;padding:0;position:sticky;top:86px; }
.expression-preview { border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow); }
.expression-sample-art { position:relative; }
.expression-sample-art .illustrated-banner,.expression-sample-art .character-art { height:180px; }
.expression-sample-art .banner-copy { padding:20px; }
.expression-sample-art .banner-copy h2 { font-size:24px; }
.expression-sample-art .banner-copy span { font-size:11px; }
.expression-preview-caption { padding:6px 18px 18px; }
.expression-preview-caption .eyebrow { font-size:8px; }
.expression-preview-caption p { margin:9px 0;font-family:var(--display-font);font-size:19px; }
.expression-preview-caption small { display:block;line-height:1.7;color:var(--muted);font-size:11px; }
.quote-style-picker { border-top:1px solid var(--line);padding-top:20px; }
.quote-style-picker>summary { font-size:15px;font-weight:600;cursor:pointer; }
.quote-style-picker>summary span { font-size:11px;color:var(--muted);font-weight:400;margin-left:14px; }
.quote-style-options { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px; }
.quote-style-choice { display:flex;flex-direction:column;gap:14px;min-width:0;border:2px solid var(--line);background:var(--field);color:var(--ink);border-radius:12px;padding:15px;text-align:left; }
.quote-style-choice[aria-pressed=true] { border-color:var(--purple);box-shadow:0 0 0 1px var(--purple); }
.quote-choice-label { display:flex;justify-content:space-between;gap:12px;font:650 12px/1.5 Inter,sans-serif; }
.quote-choice-label>span { color:var(--purple); }
.quote-style-choice .quote-box { width:100%;min-height:127px;flex:1;padding:14px 14px 20px; }
.quote-style-choice .quote-speaker { font-size:8px; }
.quote-style-choice .quote-rpg p.quote-words,.quote-style-choice .quote-pixel p.quote-words { font-size:9px; }
.quote-style-choice>small { font-size:10px;line-height:1.6;color:var(--muted); }

/* New art directions are drawn in CSS; existing illustrations stay available. */
.theme-swatch { position:relative;display:flex;align-items:center;justify-content:center;gap:14px;height:115px;overflow:hidden; }
.theme-swatch>svg { width:50px;height:50px;position:relative; }
.theme-swatch>span { font:700 13px/1.3 'Space Grotesk',sans-serif;letter-spacing:3px;position:relative; }
.swatch-manga { background:radial-gradient(#29242a35 1px,transparent 1px) 0 0/6px 6px,#f5f2e9;color:#25222b; }
.swatch-manga::before { content:'';position:absolute;inset:18px 24px;border:3px solid #24222a;transform:rotate(-5deg);background:#fffdf4d9; }
.swatch-comic { background:radial-gradient(#a23d324a 1.5px,transparent 1.5px) 0 0/8px 8px,#f7da6d;color:#262333; }
.swatch-comic::before { content:'';position:absolute;inset:16px 36px;background:#fff9e8;border:3px solid #252230;transform:rotate(5deg);box-shadow:5px 5px #dc4a40; }
.swatch-tavern { background:repeating-linear-gradient(0deg,#1a120f00 0,#1a120f00 15px,#1a120f66 16px,#1a120f66 18px),linear-gradient(120deg,#84532d,#392317);color:#f7d19d; }
.swatch-tavern::before { content:'';position:absolute;inset:10px;border:1px solid #dca66480;box-shadow:inset 0 0 0 4px #3d281a; }
.swatch-starship { background:radial-gradient(circle at 80% 20%,#b4f8fa 0px,#b4f8fa 1px,transparent 2px) 0 0/34px 29px,linear-gradient(135deg,#183f56,#061a28);color:#8fece8; }
.swatch-starship::before { content:'';position:absolute;inset:10px;border:1px solid #60e9e666;clip-path:polygon(0 0,80% 0,100% 25%,100% 100%,20% 100%,0 75%); }
.graphic-banner .theme-swatch { height:100%;width:100%;justify-content:flex-end;padding-right:35px; }
.graphic-banner .theme-swatch>svg { width:125px;height:125px;opacity:.5;transform:rotate(-12deg); }
.graphic-banner .theme-swatch>span { display:none; }
.graphic-banner .banner-copy { background:linear-gradient(0deg,#151020d9,#15102030); }
.graphic-banner .banner-copy h2 { color:#fff; }
.graphic-manga.hero { background:radial-gradient(#27233360 1px,transparent 1px) 0 0/7px 7px,#666170; }
.graphic-comic.hero { background:radial-gradient(#b44b354a 2px,transparent 2px) 0 0/11px 11px,#925d38; }
.graphic-tavern.hero { background:repeating-linear-gradient(0deg,#37211880 0,#37211880 2px,transparent 2px,transparent 35px),#644028; }
.graphic-starship.hero { background:radial-gradient(circle at 75% 40%,#387e97,transparent 45%),#071e32; }
.world-manga .sphere,.world-manga .member-person { border-width:2px; }
.world-comic .sphere,.world-comic .member-person { box-shadow:4px 4px 0 var(--line); }
.world-tavern .tabs { border-bottom:3px double var(--line); }
.world-starship .tabs { box-shadow:0 0 22px #6de2e40a; }
.world-manga .person:hover,.world-comic .person:hover { transform:translateY(-2px); }

/* Bring existing member controls into every palette, including the lighter worlds. */
.account-bar,.member-panel,.member-empty,.home-profile-status,.alter-ego-section { background:var(--panel);color:var(--ink);border-color:var(--line); }
#discover .directory-controls { background:var(--tint);border-color:var(--line); }
.directory-advanced summary,.member-recency,.alter-empty { color:var(--muted); }
.home-profile-status { border-left-color:var(--accent); }
.character-sphere-section .suggestions button[aria-pressed=true] { background:var(--tint);color:var(--purple);border-color:var(--purple); }
.alter-gallery figure { background:var(--panel-raised);border-color:var(--line); }
.alter-gallery img { background:var(--field); }
.alter-empty { border-color:var(--line); }
.alter-empty>span { color:var(--accent); }
.alter-ego-showcase,.welcome-interest-group { border-color:var(--line); }
.form-error { color:var(--danger); }
.message { background:var(--tint);color:var(--ink); }
.message.own { background:var(--panel-raised);border:1px solid var(--line);color:var(--ink); }
.member-dialog:not(#member-profile) { background:var(--panel);color:var(--ink);border-color:var(--line); }
.member-dialog a,.member-panel a { color:var(--purple); }
.profile-skin .verified-badge { background:var(--tint);color:var(--purple);border-color:var(--line); }
.expression-editor button:focus-visible,.voice-trigger:focus-visible { outline:3px solid var(--purple);outline-offset:-3px; }
@media(max-width:900px) { .quote-style-options{grid-template-columns:repeat(2,minmax(0,1fr))}.expression-workspace{gap:20px}.expression-preview-wrap{position:static} }
@media(max-width:650px) { .expression-workspace{grid-template-columns:1fr}.expression-preview-wrap{max-width:440px;width:100%;margin:auto}.quote-style-options{grid-template-columns:1fr 1fr;gap:10px}.quote-style-choice{padding:10px;gap:10px}.quote-style-choice .quote-box{padding:12px 10px 18px}.quote-style-choice .quote-rpg p.quote-words,.quote-style-choice .quote-pixel p.quote-words{font-size:8px}.quote-choice-label{font-size:11px}.quote-choice-label>span{display:none}.expression-editor .section-head .secondary{font-size:10px}.member-person .voice-trigger{padding:8px;font-size:10px;gap:5px}.voice-trigger-action{display:none}.member-person .voice-always{padding:8px}.profile-charms{gap:9px;padding:10px 8px}.profile-charm{width:30px;height:30px}.profile-charm svg{width:18px;height:18px}.quote-style-picker>summary span{display:block;margin:6px 0}.member-dialog{padding:24px 16px}.member-world-banner .illustrated-banner{height:160px} }
@media(hover:none) { .voice-panel{position:relative;box-shadow:none}.member-person:hover{transform:none} }
@media(max-width:390px) { .quote-style-options{grid-template-columns:1fr}.expression-two-fields{grid-template-columns:1fr}.quote-style-choice .quote-rpg p.quote-words,.quote-style-choice .quote-pixel p.quote-words{font-size:10px}.charm-picker legend small{display:block;margin:6px 0 0}.charm-choices{gap:5px}.charm-choice{font-size:9px} }
@media(prefers-reduced-motion:reduce) { .profile-charm{animation:none!important;transform:none!important} }

.account-bar>span,.member-empty p,.thread-choice small,.message time,.message-author { color:var(--muted); }
.member-panel h3 { color:var(--accent); }
.profile-skin h2,.profile-skin h3 { font-weight:600; }
.profile-skin.font-editorial h2,.profile-skin.font-editorial h3 { font-weight:400; }
.member-person.profile-skin h3 { font-size:22px;line-height:1.4;letter-spacing:-.3px; }
.member-person.profile-skin.font-arcade h3 { font-size:13px;line-height:1.8;letter-spacing:0; }
@media(max-width:700px) { .member-person.profile-skin h3{font-size:17px}.member-person.profile-skin.font-arcade h3{font-size:11px} }

.thread-choice { background:var(--panel-raised);color:var(--ink);border-color:var(--line); }
.member-dialog textarea,.member-panel textarea { border:1px solid var(--line);border-radius:8px;background:var(--field);color:var(--ink);padding:12px; }
