/* Fixed palettes only. No remote fonts, custom CSS, or user-supplied URLs. */
[data-theme]{
 --theme-browser:#f6f8f6;--theme-page:#e9eee9;--theme-surface:#fff;--theme-raised:#f5f7f2;--theme-field:#f2f6ec;
 --theme-text:#20372f;--theme-muted:#66776d;--theme-line:#dfe7df;--theme-accent:#216653;--theme-hover:#144c3d;--theme-on-accent:#fff;
 --theme-soft:#e7f5bc;--theme-soft-ink:#234f3a;--theme-card:#216653;--theme-card-ink:#fff;--theme-card-muted:#c0d7cb;--theme-card-gradient:none;
 --theme-chat:#f5f7f2;--theme-incoming:#fff;--theme-outgoing:#e2edcf;--theme-danger:#ad4949;--theme-danger-bg:#faf0ec;--theme-warning:#fff1da;--theme-warning-ink:#775b29;
 --theme-focus:#62917b;--theme-ring:#21665326;--theme-heading:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
[data-theme="dark"]{
 color-scheme:dark;--theme-browser:#111916;--theme-page:#080e0b;--theme-surface:#111916;--theme-raised:#1b2821;--theme-field:#22332a;
 --theme-text:#eef6f0;--theme-muted:#a6bbae;--theme-line:#344b3e;--theme-accent:#a5e2c2;--theme-hover:#c4f0d8;--theme-on-accent:#10271b;
 --theme-soft:#314b39;--theme-soft-ink:#cfefbe;--theme-card:#193c2f;--theme-card-ink:#f1fff7;--theme-card-muted:#b3d2c1;
 --theme-chat:#0c130f;--theme-incoming:#1b2a22;--theme-outgoing:#294b3b;--theme-danger:#ffaca4;--theme-danger-bg:#432827;--theme-warning:#3c3221;--theme-warning-ink:#eed3a5;
 --theme-focus:#a5e2c2;--theme-ring:#a5e2c226;
}
[data-theme="eighties"]{
 color-scheme:dark;--theme-browser:#20162f;--theme-page:#100c1a;--theme-surface:#20162f;--theme-raised:#2f2142;--theme-field:#322345;
 --theme-text:#f6efff;--theme-muted:#c2b3d5;--theme-line:#55406f;--theme-accent:#6ae8e2;--theme-hover:#b1f7ee;--theme-on-accent:#142c38;
 --theme-soft:#49294e;--theme-soft-ink:#ffc2ec;--theme-card:#462453;--theme-card-ink:#fff5fd;--theme-card-muted:#e8c8f0;--theme-card-gradient:linear-gradient(125deg,#54274f,#332b60);
 --theme-chat:#171122;--theme-incoming:#30233f;--theme-outgoing:#413258;--theme-danger:#ffb4c0;--theme-danger-bg:#47233a;--theme-warning:#453528;--theme-warning-ink:#f4d29b;
 --theme-focus:#ff95de;--theme-ring:#ff95de26;--theme-heading:"Courier New",ui-monospace,monospace;
}
[data-theme="millennium"]{
 color-scheme:light;--theme-browser:#f4f9fe;--theme-page:#d7e5f3;--theme-surface:#fff;--theme-raised:#edf5fc;--theme-field:#f0f7fc;
 --theme-text:#173e59;--theme-muted:#4c6b83;--theme-line:#c5dbea;--theme-accent:#09669a;--theme-hover:#084e79;--theme-on-accent:#fff;
 --theme-soft:#dbedf9;--theme-soft-ink:#164c70;--theme-card:#b9e2f7;--theme-card-ink:#123e59;--theme-card-muted:#214d66;--theme-card-gradient:linear-gradient(155deg,#e0f5ff 0%,#aad8f2 50%,#87c5eb 51%,#b8e2f5 100%);
 --theme-chat:#eaf3fa;--theme-incoming:#fff;--theme-outgoing:#cce8f6;--theme-danger:#9c3444;--theme-danger-bg:#fdeef2;--theme-warning:#fff0d7;--theme-warning-ink:#78571b;
 --theme-focus:#1786bd;--theme-ring:#1786bd26;--theme-heading:"Trebuchet MS","Segoe UI",ui-sans-serif,sans-serif;
}
/* Standard keeps the existing design. The alternate palettes cover every app surface. */
html[data-theme]:not([data-theme="default"]){--ink:var(--theme-text);--muted:var(--theme-muted);--green:var(--theme-accent);--green-dark:var(--theme-hover);--lime:var(--theme-soft);--pale:var(--theme-raised);--line:var(--theme-line);--paper:var(--theme-surface);--bg:var(--theme-chat);--danger:var(--theme-danger);color:var(--theme-text)}
html:where([data-theme]:not([data-theme="default"])) body{background:var(--theme-page);color:var(--theme-text)}
html:where([data-theme]:not([data-theme="default"])) .app-shell{box-shadow:0 22px 100px #0003,0 0 0 1px var(--theme-line)}
html:where([data-theme]:not([data-theme="default"])) :is(.home-footer,.chat-header,.composer,.chat-notice,.sheet,.info-page){background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-line)}
html:where([data-theme]:not([data-theme="default"])) :is(.main-header .icon-button,.save-card,.secondary,.voice-stage,.chat-security,.push-banner,.sheet .help-card,.day-divider span,.older){background:var(--theme-raised);border-color:var(--theme-line);color:var(--theme-text)}
html:where([data-theme]:not([data-theme="default"])) :is(.icon-button:hover,.contact-row:hover){background:var(--theme-raised)}
html:where([data-theme]:not([data-theme="default"])) :is(input,textarea,.sheet select,.language-picker select,.compose-row textarea,.search-wrap input){background:var(--theme-field);color:var(--theme-text);border-color:var(--theme-line)}
html:where([data-theme]:not([data-theme="default"])) :is(input,textarea)::placeholder{color:var(--theme-muted);opacity:1}
html:where([data-theme]:not([data-theme="default"])) :is(input,textarea,select):focus{border-color:var(--theme-focus);box-shadow:0 0 0 3px var(--theme-ring)}
html:where([data-theme]:not([data-theme="default"])) :is(button,a,input,textarea,select):focus-visible{outline:2px solid var(--theme-focus);outline-offset:3px}
html:where([data-theme]:not([data-theme="default"])) :is(.primary,.send-button,.voice-record,.badge,.editor-tools button[aria-pressed="true"]){background:var(--theme-accent);color:var(--theme-on-accent)}
html:where([data-theme]:not([data-theme="default"])) :is(.primary:hover,.send-button:hover){background:var(--theme-hover)}
html:where([data-theme]:not([data-theme="default"])) :is(.new-chat,.copy-id-button,.key-tile,.small-button){background:var(--theme-soft);color:var(--theme-soft-ink)}
html:where([data-theme]:not([data-theme="default"])) .identity-card{background:var(--theme-card);background-image:var(--theme-card-gradient);color:var(--theme-card-ink)}
html:where([data-theme]:not([data-theme="default"])) .identity-card .label{color:var(--theme-card-muted);opacity:1}
html:where([data-theme]:not([data-theme="default"])) .identity-card p{color:var(--theme-card-muted)}
html:where([data-theme]:not([data-theme="default"])) .share-button{background:var(--theme-card);border-color:var(--theme-card-muted);color:var(--theme-card-ink)}
html:where([data-theme]:not([data-theme="default"])) :is(.brand,.chats-heading h1,.empty-state h2,.sheet h2,.info-page h1,.info-page h2){font-family:var(--theme-heading)}
html:where([data-theme]:not([data-theme="default"])) :is(.muted,.empty-state p,.contact-body small,.contact-preview,.contact-side,.chat-title-button small,.message-meta,.message-meta button,.day-divider,.compose-hint,.save-card small,.save-card>span:last-child,.sheet .intro,.sheet .field-note,.field-note,.sheet-close,.voice-state,.voice-effect-note,.editor-note,.media-privacy-note,.media-item small,.busy-state,.chat-notice p,.dismiss){color:var(--theme-muted)}
html:where([data-theme]:not([data-theme="default"])) :is(.push-symbol,.compose-row .icon-button,.voice-time,.request-tag,.language-picker,.sheet .help-card strong){color:var(--theme-accent)}
html:where([data-theme]:not([data-theme="default"])) :is(.contact-row,.settings-list>*,.editor-tools button){border-color:var(--theme-line)}
html:where([data-theme]:not([data-theme="default"])) .bubble{background:var(--theme-incoming);border-color:var(--theme-line);color:var(--theme-text)}
html:where([data-theme]:not([data-theme="default"])) .mine .bubble{background:var(--theme-outgoing)}
html:where([data-theme]:not([data-theme="default"])) .messages{background:var(--theme-chat)}
html:where([data-theme]:not([data-theme="default"])) :is(.avatar,.avatar.tone0,.avatar.tone1){background:var(--theme-raised);color:var(--theme-accent);border:1px solid var(--theme-line)}
html:where([data-theme]:not([data-theme="default"])) .avatar.tone2{background:var(--theme-soft);color:var(--theme-soft-ink)}
html:where([data-theme]:not([data-theme="default"])) .avatar.tone3{background:var(--theme-outgoing);color:var(--theme-text)}
html:where([data-theme]:not([data-theme="default"])) .checks.read{color:var(--theme-accent)}
html:where([data-theme]:not([data-theme="default"])) :is(.attachment .edit-image,.editor-tools button){color:var(--theme-accent)}
html:where([data-theme]:not([data-theme="default"])) :is(.attachment .edit-image span,.editor-stage){background:var(--theme-raised)}
html:where([data-theme]:not([data-theme="default"])) #editor-size{accent-color:var(--theme-accent)}
html:where([data-theme]:not([data-theme="default"])) .voice-record.recording{background:var(--theme-danger-bg);color:var(--theme-danger);box-shadow:0 0 0 6px var(--theme-ring)}
html:where([data-theme]:not([data-theme="default"])) .sheet .danger{background:var(--theme-danger-bg);color:var(--theme-danger)}
html:where([data-theme]:not([data-theme="default"])) .connection{background:var(--theme-warning);color:var(--theme-warning-ink)}
html:where([data-theme]:not([data-theme="default"])) .toast{background:var(--theme-raised);color:var(--theme-text);border-color:var(--theme-accent)}
html:where([data-theme]:not([data-theme="default"])) .sheet::backdrop{background:#050a14c9}
html[data-theme="eighties"] body{background-color:var(--theme-page);background-image:linear-gradient(#b766ec09 1px,transparent 1px),linear-gradient(90deg,#b766ec09 1px,transparent 1px);background-size:40px 40px}
html[data-theme="eighties"] .identity-card{border:1px solid #b66fca;box-shadow:inset 0 0 20px #fb66ce10}
html[data-theme="eighties"] :is(#my-id,.primary,.new-chat){font-family:var(--theme-heading)}
html[data-theme="eighties"] :is(.brand,.chats-heading h1,.empty-state h2,.sheet h2){letter-spacing:-.7px}
html[data-theme="millennium"] body{background:linear-gradient(150deg,#ebf5fe,#d0e4f3)}
html[data-theme="millennium"] :is(.primary,.send-button){background-image:linear-gradient(#ffffff1e,#ffffff00 49%,#0036581c 50%,#ffffff0d);box-shadow:inset 0 1px 0 #ffffff5c,0 1px 2px #2e608526;border:1px solid #085c8c}
html[data-theme="millennium"] .identity-card{border:1px solid #89bfde;box-shadow:inset 0 1px 0 #fff}
html[data-theme="millennium"] .main-header{background:linear-gradient(#fff,#f4f9fe)}
/* Admin preview uses the same palette tokens without recoloring the console. */
.theme-form{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,320px);gap:24px;align-items:start;margin:16px 0 28px}
.theme-form select{width:100%;min-height:44px;font:inherit;padding:10px 12px;color:#20372f;background:#f7f9f6;border:1px solid #dce5dc;border-radius:12px}
.theme-form .primary{margin-top:4px}
.theme-preview{background:var(--theme-surface);color:var(--theme-text);border:1px solid var(--theme-line);border-radius:20px;overflow:hidden;box-shadow:0 5px 20px #182e2010;max-width:100%;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.theme-preview-header{display:flex;align-items:center;gap:8px;padding:15px;font-size:16px;font-family:var(--theme-heading)}
.theme-preview-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.theme-preview-logo{width:28px;height:28px;display:grid;place-items:center;flex-shrink:0;border-radius:9px;background:var(--theme-accent);color:var(--theme-on-accent)}
.theme-preview-dots{margin-left:auto;color:var(--theme-muted);font-size:12px}
.theme-preview-id{background:var(--theme-card);background-image:var(--theme-card-gradient);color:var(--theme-card-ink);border-radius:13px;margin:0 14px 15px;padding:12px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:3px 8px}
.theme-preview-id small{font-size:10px;color:var(--theme-card-muted);grid-column:1/-1}
.theme-preview-id>strong{font-size:23px;letter-spacing:1px}
.theme-preview-copy{background:var(--theme-soft);color:var(--theme-soft-ink);border-radius:7px;padding:6px 8px;font-size:9px;font-weight:650}
.theme-preview-chat{background:var(--theme-chat);padding:16px 14px;display:flex;flex-direction:column;align-items:flex-start;gap:12px;border-block:1px solid var(--theme-line)}
.theme-preview-bubble{max-width:90%;background:var(--theme-incoming);border:1px solid var(--theme-line);border-radius:12px 12px 12px 3px;padding:8px 10px;font-size:11px;color:var(--theme-text)}
.theme-preview-bubble.mine{align-self:flex-end;border-radius:12px 12px 3px 12px;background:var(--theme-outgoing)}
.theme-preview-composer{display:flex;gap:8px;align-items:center;padding:10px 12px}
.theme-preview-composer>span:first-child{flex:1;border-radius:18px;background:var(--theme-field);color:var(--theme-muted);padding:8px 12px;font-size:11px}
.theme-preview-send{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;background:var(--theme-accent);color:var(--theme-on-accent);font-size:19px;font-weight:700}
@media(max-width:640px){.theme-form{grid-template-columns:minmax(0,1fr);gap:16px}.theme-preview{width:100%;max-width:320px}}

/* 0.4.4 · Character themes. Decorative art never contains message or account data. */
[data-theme="matrix"]{
 color-scheme:dark;--theme-browser:#08130d;--theme-page:#030906;--theme-surface:#08130d;--theme-raised:#112319;--theme-field:#10241a;
 --theme-text:#d5ffdf;--theme-muted:#9eb9a5;--theme-line:#2b593d;--theme-accent:#76f49b;--theme-hover:#b2ffc9;--theme-on-accent:#072111;
 --theme-soft:#1a3c29;--theme-soft-ink:#a6ffc1;--theme-card:#0d2317;--theme-card-ink:#c8ffd9;--theme-card-muted:#9bc5a8;--theme-card-gradient:linear-gradient(120deg,#163922,#0b2115);
 --theme-chat:#06110b;--theme-incoming:#102219;--theme-outgoing:#1b3928;--theme-danger:#ffb0ac;--theme-danger-bg:#392425;--theme-warning:#34331b;--theme-warning-ink:#e9dd9c;
 --theme-focus:#a6ffc1;--theme-ring:#76f49b26;--theme-heading:"Courier New",ui-monospace,monospace;--theme-art:url('/assets/theme-art/matrix.svg?v=0.4.4');
}
[data-theme="synthwave"]{
 color-scheme:dark;--theme-browser:#1d102e;--theme-page:#0c0920;--theme-surface:#1d102e;--theme-raised:#301a43;--theme-field:#321c49;
 --theme-text:#fff0fb;--theme-muted:#d2b6d8;--theme-line:#724777;--theme-accent:#ffb3e9;--theme-hover:#ffd7f4;--theme-on-accent:#351135;
 --theme-soft:#183c50;--theme-soft-ink:#9df5ff;--theme-card:#351441;--theme-card-ink:#fff3fc;--theme-card-muted:#e9c5e9;--theme-card-gradient:linear-gradient(125deg,#542455,#27123f);
 --theme-chat:#170e29;--theme-incoming:#2f1c40;--theme-outgoing:#4b2754;--theme-danger:#ffc0bd;--theme-danger-bg:#4b233b;--theme-warning:#493422;--theme-warning-ink:#ffe0a2;
 --theme-focus:#97f5ff;--theme-ring:#ff96df33;--theme-heading:"Arial Black","Trebuchet MS",ui-sans-serif,sans-serif;--theme-art:url('/assets/theme-art/synthwave.svg?v=0.4.4');
}
[data-theme="arcade"]{
 color-scheme:dark;--theme-browser:#121733;--theme-page:#080c20;--theme-surface:#121733;--theme-raised:#202747;--theme-field:#1a2242;
 --theme-text:#f4f1ff;--theme-muted:#bdc3e6;--theme-line:#4e5c94;--theme-accent:#ffe77a;--theme-hover:#fff2b1;--theme-on-accent:#29220d;
 --theme-soft:#243c58;--theme-soft-ink:#a2edff;--theme-card:#19234c;--theme-card-ink:#fff4b6;--theme-card-muted:#c2d0f7;--theme-card-gradient:none;
 --theme-chat:#0d122b;--theme-incoming:#1e294d;--theme-outgoing:#343454;--theme-danger:#ffb1c6;--theme-danger-bg:#44243e;--theme-warning:#423a25;--theme-warning-ink:#ffe99b;
 --theme-focus:#72e8fc;--theme-ring:#72e8fc33;--theme-heading:"Courier New",ui-monospace,monospace;--theme-art:url('/assets/theme-art/arcade.svg?v=0.4.4');
}
[data-theme="cipher"]{
 color-scheme:dark;--theme-browser:#0c1b2a;--theme-page:#06101b;--theme-surface:#0c1b2a;--theme-raised:#152c3e;--theme-field:#132a3c;
 --theme-text:#e6f4ff;--theme-muted:#abc3d7;--theme-line:#37566c;--theme-accent:#83e4f4;--theme-hover:#baf2ff;--theme-on-accent:#082938;
 --theme-soft:#193f52;--theme-soft-ink:#a5edff;--theme-card:#123449;--theme-card-ink:#e7faff;--theme-card-muted:#abcdda;--theme-card-gradient:linear-gradient(125deg,#194358,#102739);
 --theme-chat:#091622;--theme-incoming:#142b3d;--theme-outgoing:#1c4255;--theme-danger:#ffb7bc;--theme-danger-bg:#3b2835;--theme-warning:#3a3525;--theme-warning-ink:#f2d9a5;
 --theme-focus:#83e4f4;--theme-ring:#83e4f426;--theme-heading:"Segoe UI",ui-sans-serif,sans-serif;--theme-art:url('/assets/theme-art/cipher.svg?v=0.4.4');
}
[data-theme="kawaii"]{
 color-scheme:light;--theme-browser:#fff6fc;--theme-page:#f2e9fa;--theme-surface:#fff6fc;--theme-raised:#f6eaf6;--theme-field:#fff9fe;
 --theme-text:#503d66;--theme-muted:#7c6288;--theme-line:#ddc3e0;--theme-accent:#86549c;--theme-hover:#68407d;--theme-on-accent:#fff;
 --theme-soft:#f2d9ec;--theme-soft-ink:#784c74;--theme-card:#f5dce9;--theme-card-ink:#5b396b;--theme-card-muted:#745279;--theme-card-gradient:linear-gradient(120deg,#fbe1ed,#e8ddfc);
 --theme-chat:#f9edf7;--theme-incoming:#fffafd;--theme-outgoing:#e9dcf6;--theme-danger:#9e3c5c;--theme-danger-bg:#fce5ed;--theme-warning:#fff0d8;--theme-warning-ink:#785321;
 --theme-focus:#86549c;--theme-ring:#86549c26;--theme-heading:"Trebuchet MS","Hiragino Kaku Gothic ProN",ui-rounded,system-ui,sans-serif;--theme-art:url('/assets/theme-art/kawaii.svg?v=0.4.4');
}
[data-theme="frog"]{
 color-scheme:light;--theme-browser:#f6f1de;--theme-page:#e5e8ce;--theme-surface:#f6f1de;--theme-raised:#e7e9ce;--theme-field:#fffbed;
 --theme-text:#304736;--theme-muted:#5c6e53;--theme-line:#b1ba91;--theme-accent:#3f6949;--theme-hover:#2e5136;--theme-on-accent:#fffdf0;
 --theme-soft:#e6ce80;--theme-soft-ink:#4c4822;--theme-card:#d7e4b2;--theme-card-ink:#304736;--theme-card-muted:#4e6344;--theme-card-gradient:none;
 --theme-chat:#eeeace;--theme-incoming:#fffbeb;--theme-outgoing:#d9e4b9;--theme-danger:#983c34;--theme-danger-bg:#f4dfd3;--theme-warning:#f3e1ad;--theme-warning-ink:#715320;
 --theme-focus:#3f6949;--theme-ring:#3f694926;--theme-heading:"Trebuchet MS",ui-rounded,system-ui,sans-serif;--theme-art:url('/assets/theme-art/frog.svg?v=0.4.4');
}
[data-theme="halloween"]{
 color-scheme:dark;--theme-browser:#21182c;--theme-page:#100d19;--theme-surface:#21182c;--theme-raised:#34243f;--theme-field:#32243b;
 --theme-text:#fff1e3;--theme-muted:#d4bacc;--theme-line:#704964;--theme-accent:#ffba7a;--theme-hover:#ffdaad;--theme-on-accent:#3c2316;
 --theme-soft:#48305e;--theme-soft-ink:#e9c5ff;--theme-card:#3b2345;--theme-card-ink:#fff1df;--theme-card-muted:#e7c3da;--theme-card-gradient:linear-gradient(120deg,#4a2c4c,#2c1e38);
 --theme-chat:#1b1426;--theme-incoming:#35263f;--theme-outgoing:#4e3344;--theme-danger:#ffb7bc;--theme-danger-bg:#4a2533;--theme-warning:#4e382b;--theme-warning-ink:#ffe0b1;
 --theme-focus:#e4b5ff;--theme-ring:#ffba7a26;--theme-heading:Georgia,"Times New Roman",serif;--theme-art:url('/assets/theme-art/halloween.svg?v=0.4.4');
}
/* One tiny motif inside the existing ID card. No extra home panel or empty-state illustration. */
.theme-emblem{display:none;pointer-events:none;user-select:none}
:is([data-theme="matrix"],[data-theme="synthwave"],[data-theme="arcade"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="frog"],[data-theme="halloween"]) :is(.identity-card,.theme-preview-id){isolation:isolate;position:relative;overflow:hidden}
:is([data-theme="matrix"],[data-theme="synthwave"],[data-theme="arcade"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="frog"],[data-theme="halloween"]) .theme-emblem{display:block;position:absolute;right:14px;top:3px;width:76px;height:46px;background-image:var(--theme-art);background-position:center;background-repeat:no-repeat;background-size:contain;z-index:-1}
:is([data-theme="matrix"],[data-theme="synthwave"],[data-theme="arcade"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="frog"],[data-theme="halloween"]) :is(.identity-card>.label,.theme-preview-id>small){padding-right:76px}
:is([data-theme="matrix"],[data-theme="synthwave"],[data-theme="arcade"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="frog"],[data-theme="halloween"]) .identity-card:after{display:none}
.theme-preview-id{isolation:isolate}.theme-preview-id .theme-emblem{width:62px;height:34px;top:0;right:6px}
.theme-preview-id .theme-preview-copy{z-index:1}.theme-preview-logo{object-fit:contain;background:transparent}
.theme-motion-control{display:flex!important;gap:10px;align-items:center;margin:18px 0 4px;font-size:12px;font-weight:600;line-height:1.5;cursor:pointer}
.theme-motion-control input{width:18px!important;height:18px;min-height:18px;flex-shrink:0;margin:0;padding:0;accent-color:var(--theme-accent,#216653)}
/* Hacker terminal: phosphor borders, scanlines on the card and a restrained terminal frame. */
[data-theme="matrix"] :is(.identity-card,.theme-preview-id){border:1px solid #4a9862;border-radius:5px;box-shadow:inset 0 0 22px #63ff9110,0 0 16px #63ff910a;background-image:repeating-linear-gradient(0deg,transparent 0 3px,#00000012 3px 4px),var(--theme-card-gradient)}
[data-theme="matrix"] :is(.main-header,.theme-preview-header){border-bottom:1px dashed #39794d;margin-bottom:14px}
[data-theme="matrix"] :is(.brand,.theme-preview-header strong){color:#9dffba;text-shadow:0 0 14px #68ff9130}
[data-theme="matrix"] :is(.primary,.secondary,.copy-id-button,.share-button,.new-chat,.send-button,.theme-preview-copy,.theme-preview-send){border-radius:5px;font-family:var(--theme-heading)}
[data-theme="matrix"] :is(.bubble,.theme-preview-bubble){border-radius:5px;border-left:2px solid #62bc7e}
[data-theme="matrix"] :is(.messages,.theme-preview-chat){background-image:linear-gradient(#7cff9510 1px,transparent 1px),linear-gradient(90deg,#7cff9510 1px,transparent 1px);background-size:28px 28px}
html[data-theme="matrix"] body{background-color:#030906;background-image:linear-gradient(90deg,transparent 95%,#54ff7912 95%),linear-gradient(#44ff6605,transparent);background-size:42px 100%,100% 100%}
html[data-theme="matrix"] .app-shell{border:1px solid #2b593d}
/* 1985: a striped sunset, horizon grid, cyan edges and magenta light. */
[data-theme="synthwave"] :is(.identity-card,.theme-preview-id){border:1px solid #ff92de;border-radius:8px;box-shadow:3px 3px 0 #55ddef50,inset 0 0 18px #fd62b51a}
[data-theme="synthwave"] .theme-emblem{width:100px;height:50px;top:0;right:4px}
[data-theme="synthwave"] :is(.identity-card>.label,.theme-preview-id>small){padding-right:98px}
[data-theme="synthwave"] :is(.brand,.theme-preview-header strong){font-style:italic;letter-spacing:-1px;color:#ffc5ed;text-shadow:2px 2px 0 #573387,0 0 16px #ff62c230}
[data-theme="synthwave"] :is(.chats-heading h1,.empty-state h2,.sheet h2){color:#a9f6ff}
[data-theme="synthwave"] :is(.primary,.new-chat,.theme-preview-send){border-radius:7px;box-shadow:3px 3px 0 #66dff5;font-weight:800}
[data-theme="synthwave"] :is(.bubble,.theme-preview-bubble){border-radius:10px 10px 10px 2px;border-color:#7c4e91}
[data-theme="synthwave"] :is(.messages,.theme-preview-chat){background-image:linear-gradient(#e071e810 1px,transparent 1px),linear-gradient(90deg,#e071e810 1px,transparent 1px);background-size:32px 32px}
html[data-theme="synthwave"] body{background-color:#0c0920;background-image:radial-gradient(ellipse at 50% 22%,#dc377e50,transparent 55%),linear-gradient(#ed66e91a 1px,transparent 1px),linear-gradient(90deg,#ed66e91a 1px,transparent 1px);background-size:100% 100%,48px 48px,48px 48px}
html[data-theme="synthwave"] .app-shell{box-shadow:0 0 0 1px #e283f273,0 0 50px #b73dbe35}
/* Arcade cabinet: pixel ghosts, squared edges and pellet-like dots. */
[data-theme="arcade"] :is(.identity-card,.theme-preview-id){border:2px solid #7c9df6;border-radius:0;box-shadow:3px 3px 0 #030921}
[data-theme="arcade"] .theme-emblem{image-rendering:pixelated;top:5px;height:38px}
[data-theme="arcade"] :is(.brand,.theme-preview-header strong){color:#ffe77a;text-shadow:2px 2px 0 #b9588d}
[data-theme="arcade"] :is(.primary,.secondary,.copy-id-button,.share-button,.new-chat,.send-button,.theme-preview-send,.theme-preview-copy){border-radius:2px;font-family:var(--theme-heading);box-shadow:3px 3px 0 #030921}
[data-theme="arcade"] :is(.bubble,.theme-preview-bubble,.avatar,.save-card,.theme-preview){border-radius:2px}
[data-theme="arcade"] :is(.messages,.theme-preview-chat){background-image:radial-gradient(#7e89b32b 1px,transparent 1.5px);background-size:20px 20px}
[data-theme="arcade"] :is(.chats-heading,.theme-preview-header){border-bottom:2px dashed #727ba6}
html[data-theme="arcade"] body{background-color:#080c20;background-image:linear-gradient(#303e7c20 2px,transparent 2px),linear-gradient(90deg,#303e7c20 2px,transparent 2px);background-size:38px 38px}
html[data-theme="arcade"] .app-shell{box-shadow:0 0 0 3px #596eaa,0 0 0 7px #1f2a52,0 15px 70px #0007}
/* Cipher Lab is visual styling; it makes no extra encryption claims. */
[data-theme="cipher"] :is(.identity-card,.theme-preview-id){border:1px solid #5c9cb6;border-radius:7px 24px 7px 24px;box-shadow:inset 4px 0 0 #62cfde}
[data-theme="cipher"] :is(.brand,.theme-preview-header strong){font-weight:500;letter-spacing:.5px}
[data-theme="cipher"] :is(.primary,.new-chat,.send-button,.theme-preview-send){border:1px solid #c0f5ff;border-radius:7px 16px 7px 16px}
[data-theme="cipher"] :is(.messages,.theme-preview-chat){background-image:linear-gradient(30deg,#6ad3e80c 12%,transparent 12.5%,transparent 87%,#6ad3e80c 87.5%),linear-gradient(150deg,#6ad3e80c 12%,transparent 12.5%,transparent 87%,#6ad3e80c 87.5%);background-size:48px 84px}
[data-theme="cipher"] :is(.bubble,.theme-preview-bubble){border-radius:8px 16px 8px 16px}
html[data-theme="cipher"] body{background-color:#06101b;background-image:radial-gradient(ellipse at 50% 40%,#1c4c6150,transparent 65%),linear-gradient(60deg,#79d6f008 25%,transparent 25%,transparent 75%,#79d6f008 75%);background-size:100% 100%,52px 90px}
/* Sakura Cat: soft paper, rainbow accents and an original cat mascot. */
[data-theme="kawaii"] :is(.identity-card,.theme-preview-id){border:1px solid #d9b2db;border-radius:24px;box-shadow:0 4px 0 #d5b4df44}
[data-theme="kawaii"] :is(.main-header,.theme-preview-header){background-image:linear-gradient(90deg,#ffb8d6,#ffe2a0,#bce9ca,#b9e5f2,#d4b7f3);background-size:100% 3px;background-repeat:no-repeat;background-position:bottom;margin-bottom:14px}
[data-theme="kawaii"] :is(.primary,.secondary,.new-chat,.copy-id-button,.theme-preview-send,.theme-preview-copy){border-radius:24px}
[data-theme="kawaii"] :is(.bubble,.theme-preview-bubble){border-radius:18px 18px 18px 5px;box-shadow:0 2px 0 #dac4e130}
[data-theme="kawaii"] :is(.mine .bubble,.theme-preview-bubble.mine){border-radius:18px 18px 5px 18px}
[data-theme="kawaii"] :is(.messages,.theme-preview-chat){background-image:radial-gradient(#c698d02e 1.5px,transparent 2px);background-size:26px 26px}
html[data-theme="kawaii"] body{background-color:#f2e9fa;background-image:radial-gradient(ellipse at 15% 20%,#ffd9e6,transparent 55%),radial-gradient(ellipse at 85% 80%,#cbecf5,transparent 55%)}
/* Frog Club: comic ink, warm paper and a deliberately unimpressed frog. */
[data-theme="frog"] :is(.identity-card,.theme-preview-id){border:2px solid #4c6543;border-radius:16px 9px 19px 11px;box-shadow:3px 4px 0 #4c654326}
[data-theme="frog"] .theme-emblem{height:46px;width:70px;right:12px;top:0}
[data-theme="frog"] :is(.brand,.theme-preview-header strong){font-weight:900;letter-spacing:-1px}
[data-theme="frog"] :is(.primary,.new-chat,.theme-preview-send){border:2px solid #304736;box-shadow:3px 3px 0 #8c9b68;border-radius:10px 14px 9px 12px}
[data-theme="frog"] :is(.bubble,.theme-preview-bubble){border:1.5px solid #81906b;border-radius:14px 17px 14px 3px;box-shadow:2px 2px 0 #53654615}
[data-theme="frog"] :is(.messages,.theme-preview-chat){background-image:radial-gradient(#737f4e1b 1px,transparent 1px);background-size:8px 8px}
html[data-theme="frog"] body{background-color:#e5e8ce;background-image:radial-gradient(#89975f28 1px,transparent 1.5px);background-size:12px 12px}
/* Midnight Halloween: an amber moon, pumpkin and gently floating ghost. */
[data-theme="halloween"] :is(.identity-card,.theme-preview-id){border:1px solid #b7807b;border-radius:22px 22px 7px 7px;box-shadow:inset 0 1px 0 #ffd29f26,0 4px 18px #100a1b40}
[data-theme="halloween"] :is(.brand,.theme-preview-header strong){color:#ffd3a0;text-shadow:0 0 18px #ff944626;font-weight:700}
[data-theme="halloween"] :is(.primary,.new-chat,.theme-preview-send){border-radius:17px 17px 6px 6px;box-shadow:0 3px 0 #b1654a}
[data-theme="halloween"] :is(.messages,.theme-preview-chat){background-image:radial-gradient(#d5a0e81a 1px,transparent 2px);background-size:31px 31px}
html[data-theme="halloween"] body{background-color:#100d19;background-image:radial-gradient(ellipse at 20% 10%,#64406c4f,transparent 50%),radial-gradient(ellipse at 90% 90%,#af663d26,transparent 50%)}
/* Only small decorative elements animate. User controls and OS reduced motion take priority. */
@keyframes theme-orbit{0%,12%{transform:perspective(120px) rotateY(0)}45%,65%{transform:perspective(120px) rotateY(360deg)}100%{transform:perspective(120px) rotateY(360deg)}}
@keyframes theme-hover{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
@keyframes theme-pixel-step{0%,100%{transform:translateX(0)}50%{transform:translateX(-5px)}}
@keyframes theme-code{0%,100%{transform:translateY(0);opacity:.75}50%{transform:translateY(4px);opacity:1}}
@keyframes theme-nod{0%,70%,100%{transform:rotate(0)}80%{transform:rotate(-4deg)}90%{transform:rotate(3deg)}}
@media(prefers-reduced-motion:no-preference){
 html[data-theme-motion="on"] [data-theme="matrix"] .theme-preview-logo,html[data-theme="matrix"][data-theme-motion="on"] #brand-logo{animation:theme-orbit 10s ease-in-out infinite}
 html[data-theme-motion="on"] [data-theme="matrix"] .theme-emblem{animation:theme-code 7s ease-in-out infinite}
 html[data-theme="matrix"][data-theme-motion="on"] .theme-emblem{animation:theme-code 7s ease-in-out infinite}
 html[data-theme-motion="on"] :is([data-theme="synthwave"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="halloween"]) .theme-emblem{animation:theme-hover 6s ease-in-out infinite}
 html[data-theme="synthwave"][data-theme-motion="on"] .theme-emblem,html[data-theme="cipher"][data-theme-motion="on"] .theme-emblem,html[data-theme="kawaii"][data-theme-motion="on"] .theme-emblem,html[data-theme="halloween"][data-theme-motion="on"] .theme-emblem{animation:theme-hover 6s ease-in-out infinite}
 html[data-theme-motion="on"] [data-theme="arcade"] .theme-emblem,html[data-theme="arcade"][data-theme-motion="on"] .theme-emblem{animation:theme-pixel-step 2.4s steps(4,end) infinite}
 html[data-theme-motion="on"] [data-theme="frog"] .theme-emblem,html[data-theme="frog"][data-theme-motion="on"] .theme-emblem{animation:theme-nod 9s ease-in-out infinite}
}
html[data-theme-paused="true"] :is(.theme-emblem,#brand-logo,.theme-preview-logo){animation-play-state:paused!important}
html[data-theme-motion="off"] :is(.theme-emblem,#brand-logo,.theme-preview-logo){animation:none!important}
@media(prefers-reduced-motion:reduce){.theme-emblem,#brand-logo,.theme-preview-logo{animation:none!important;transition:none!important}}
@media(max-width:360px){
 :is([data-theme="matrix"],[data-theme="synthwave"],[data-theme="arcade"],[data-theme="cipher"],[data-theme="kawaii"],[data-theme="frog"],[data-theme="halloween"]) #brand-text{font-size:23px}
 .theme-emblem{right:8px!important}
}

/* Carry each theme into the home surface while keeping readable, quiet text areas. */
html[data-theme="matrix"] .contact-list{background-image:linear-gradient(180deg,#08130d 8%,#08130d66 100%),linear-gradient(#74ff9512 1px,transparent 1px),linear-gradient(90deg,#74ff9512 1px,transparent 1px);background-size:100% 100%,32px 32px,32px 32px}
html[data-theme="synthwave"] .contact-list{background-image:linear-gradient(180deg,#1d102e 0%,#1d102e77 65%,#1d102e11 100%),linear-gradient(#ed84e936 1px,transparent 1px),linear-gradient(90deg,#ed84e936 1px,transparent 1px),radial-gradient(ellipse at 50% 100%,#74265855,transparent 75%);background-size:100% 100%,32px 32px,32px 32px,100% 100%}
html[data-theme="synthwave"] .empty-state h2{text-shadow:0 0 18px #55e7ff40}
html[data-theme="arcade"] .contact-list{background-image:linear-gradient(180deg,#121733 8%,#12173366 100%),radial-gradient(#c4c9e526 1.5px,transparent 2px);background-size:100% 100%,22px 22px}
html[data-theme="cipher"] .contact-list{background-image:linear-gradient(180deg,#0c1b2a 8%,#0c1b2a88 100%),linear-gradient(30deg,#6ad3e812 12%,transparent 12.5%,transparent 87%,#6ad3e812 87.5%),linear-gradient(150deg,#6ad3e812 12%,transparent 12.5%,transparent 87%,#6ad3e812 87.5%);background-size:100% 100%,48px 84px,48px 84px}
html[data-theme="kawaii"] .contact-list{background-image:linear-gradient(180deg,#fff6fc 8%,#fff6fc66 100%),radial-gradient(#b26ab726 1.5px,transparent 2px);background-size:100% 100%,24px 24px}
html[data-theme="frog"] .contact-list{background-image:linear-gradient(180deg,#f6f1de 8%,#f6f1de66 100%),radial-gradient(#667c4b20 1px,transparent 1px);background-size:100% 100%,8px 8px}
html[data-theme="halloween"] .contact-list{background-image:linear-gradient(180deg,#21182c 0%,transparent 85%),radial-gradient(ellipse at 15% 90%,#82435e28,transparent 65%),radial-gradient(#e6c2ff26 1px,transparent 2px);background-size:100% 100%,100% 100%,37px 37px}
