/* Unquant Chat: the site's themes on LibreChat (generated by make_theme.py; do not edit by hand).
   Only LibreChat's own theme variables, plus the composer and send button drawn like the site's panels and
   primary buttons. Colour variables are "R G B" triplets. */
/* studio */
html[data-uq-theme="studio"], html[data-uq-theme="studio"].dark {
  --presentation: 6 6 6;
  --text-primary: 242 242 242;
  --text-secondary: 184 184 184;
  --text-secondary-alt: 150 150 150;
  --text-tertiary: 150 150 150;
  --text-muted: 114 114 114;
  --link: 173 201 238;
  --link-hover: 194 214 242;
  --link-visited: 173 201 238;
  --accent-primary: 173 201 238;
  --accent-primary-hover: 194 214 242;
  --ring-primary: 173 201 238;
  --header-primary: 9 9 9;
  --header-hover: 25 25 25;
  --header-button-hover: 25 25 25;
  --surface-active: 38 38 38;
  --surface-active-alt: 25 25 25;
  --surface-hover: 25 25 25;
  --surface-hover-alt: 38 38 38;
  --surface-composer-hover: 20 20 20;
  --surface-primary: 7 7 7;
  --surface-primary-alt: 8 8 8;
  --surface-primary-contrast: 16 16 16;
  --surface-secondary: 9 9 9;
  --surface-secondary-alt: 16 16 16;
  --surface-tertiary: 16 16 16;
  --surface-tertiary-alt: 25 25 25;
  --surface-dialog: 16 16 16;
  --surface-chat: 16 16 16;
  --surface-code: 6 6 6;
  --surface-submit: 7 13 21;
  --surface-submit-hover: 20 35 56;
  --surface-inverted: 242 242 242;
  --surface-inverted-hover: 255 255 255;
  --text-inverted: 7 7 7;
  --border-light: 36 36 36;
  --border-medium-alt: 51 51 51;
  --border-medium: 51 51 51;
  --border-heavy: 89 89 89;
  --border-xheavy: 118 118 118;
  --chart-widget-surface: 16 16 16;
  --chart-widget-stroke: 51 51 51;
  --switch-unchecked: 89 89 89;
  --series-1: 173 201 238;
}
html[data-uq-theme="studio"] [data-testid="composer-surface"] {
  background-image: linear-gradient(145deg, #151515, #0c0c0c 75%);
  border-color: #333333;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="studio"] [data-testid="send-button"]:not(:disabled) {
  background-image: linear-gradient(#142338, #070d15);
  color: #e1e8f2;
  border: 1px solid #34465d;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="studio"] [role="alert"][data-uq-notice], html[data-uq-theme="studio"] .uq-notice.uq-after {
  background: linear-gradient(145deg, #151515, #0c0c0c 75%) !important;
  border: 1px solid #333333 !important;
}
html[data-uq-theme="studio"] .uq-btn {
  background: linear-gradient(#191919, #101010); border: 1px solid #333333; color: #f2f2f2;
}
html[data-uq-theme="studio"] .uq-btn:hover { border-color: #636363; }
html[data-uq-theme="studio"] .uq-btn.uq-primary {
  background: linear-gradient(#142338, #070d15); border-color: #34465d; color: #e1e8f2;
}
html[data-uq-theme="studio"] .uq-btn.uq-primary:hover { background: linear-gradient(#434f60, #252a31); }
/* silver */
html:not([data-uq-theme]), html:not([data-uq-theme]).dark, html[data-uq-theme="silver"], html[data-uq-theme="silver"].dark {
  --presentation: 14 15 17;
  --text-primary: 242 242 242;
  --text-secondary: 184 190 199;
  --text-secondary-alt: 157 166 179;
  --text-tertiary: 157 166 179;
  --text-muted: 122 129 140;
  --link: 198 213 240;
  --link-hover: 212 224 244;
  --link-visited: 198 213 240;
  --accent-primary: 198 213 240;
  --accent-primary-hover: 212 224 244;
  --ring-primary: 198 213 240;
  --header-primary: 23 24 27;
  --header-hover: 38 40 45;
  --header-button-hover: 38 40 45;
  --surface-active: 45 47 52;
  --surface-active-alt: 38 40 45;
  --surface-hover: 38 40 45;
  --surface-hover-alt: 45 47 52;
  --surface-composer-hover: 34 36 40;
  --surface-primary: 18 19 21;
  --surface-primary-alt: 20 22 24;
  --surface-primary-contrast: 29 31 35;
  --surface-secondary: 23 24 27;
  --surface-secondary-alt: 29 31 35;
  --surface-tertiary: 29 31 35;
  --surface-tertiary-alt: 38 40 45;
  --surface-dialog: 29 31 35;
  --surface-chat: 29 31 35;
  --surface-code: 14 15 17;
  --surface-submit: 191 198 209;
  --surface-submit-hover: 238 240 245;
  --surface-inverted: 242 242 242;
  --surface-inverted-hover: 255 255 255;
  --text-inverted: 18 19 21;
  --border-light: 40 42 46;
  --border-medium-alt: 52 54 60;
  --border-medium: 52 54 60;
  --border-heavy: 90 92 96;
  --border-xheavy: 118 120 124;
  --chart-widget-surface: 29 31 35;
  --chart-widget-stroke: 52 54 60;
  --switch-unchecked: 90 92 96;
  --series-1: 198 213 240;
}
html:not([data-uq-theme]) [data-testid="composer-surface"], html[data-uq-theme="silver"] [data-testid="composer-surface"] {
  background-image: linear-gradient(145deg, #23252a, #1c1e22 75%);
  border-color: #34363c;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(0 0 0 / .45);
}
html:not([data-uq-theme]) [data-testid="send-button"]:not(:disabled), html[data-uq-theme="silver"] [data-testid="send-button"]:not(:disabled) {
  background-image: linear-gradient(#eef0f5, #bfc6d1);
  color: #20242c;
  border: 1px solid #7b8797;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45);
}
html:not([data-uq-theme]) [role="alert"][data-uq-notice], html[data-uq-theme="silver"] [role="alert"][data-uq-notice], html:not([data-uq-theme]) .uq-notice.uq-after, html[data-uq-theme="silver"] .uq-notice.uq-after {
  background: linear-gradient(145deg, #23252a, #1c1e22 75%) !important;
  border: 1px solid #34363c !important;
}
html:not([data-uq-theme]) .uq-btn, html[data-uq-theme="silver"] .uq-btn {
  background: linear-gradient(#26282d, #1d1f23); border: 1px solid #34363c; color: #f2f2f2;
}
html:not([data-uq-theme]) .uq-btn:hover, html[data-uq-theme="silver"] .uq-btn:hover { border-color: #64656a; }
html:not([data-uq-theme]) .uq-btn.uq-primary, html[data-uq-theme="silver"] .uq-btn.uq-primary {
  background: linear-gradient(#eef0f5, #bfc6d1); border-color: #7b8797; color: #20242c;
}
html:not([data-uq-theme]) .uq-btn.uq-primary:hover, html[data-uq-theme="silver"] .uq-btn.uq-primary:hover { background: linear-gradient(#f1f3f7, #c7cdd7); }
/* graphite */
html[data-uq-theme="graphite"], html[data-uq-theme="graphite"].dark {
  --presentation: 9 9 9;
  --text-primary: 242 242 242;
  --text-secondary: 184 190 199;
  --text-secondary-alt: 157 166 179;
  --text-tertiary: 157 166 179;
  --text-muted: 120 127 137;
  --link: 196 196 196;
  --link-hover: 211 211 211;
  --link-visited: 196 196 196;
  --accent-primary: 196 196 196;
  --accent-primary-hover: 211 211 211;
  --ring-primary: 196 196 196;
  --header-primary: 19 19 19;
  --header-hover: 45 45 45;
  --header-button-hover: 45 45 45;
  --surface-active: 54 54 54;
  --surface-active-alt: 45 45 45;
  --surface-hover: 45 45 45;
  --surface-hover-alt: 54 54 54;
  --surface-composer-hover: 36 36 36;
  --surface-primary: 11 11 11;
  --surface-primary-alt: 15 15 15;
  --surface-primary-contrast: 28 28 28;
  --surface-secondary: 19 19 19;
  --surface-secondary-alt: 28 28 28;
  --surface-tertiary: 28 28 28;
  --surface-tertiary-alt: 45 45 45;
  --surface-dialog: 28 28 28;
  --surface-chat: 28 28 28;
  --surface-code: 9 9 9;
  --surface-submit: 182 182 182;
  --surface-submit-hover: 235 235 235;
  --surface-inverted: 242 242 242;
  --surface-inverted-hover: 255 255 255;
  --text-inverted: 11 11 11;
  --border-light: 45 45 45;
  --border-medium-alt: 64 64 64;
  --border-medium: 64 64 64;
  --border-heavy: 100 100 100;
  --border-xheavy: 126 126 126;
  --chart-widget-surface: 28 28 28;
  --chart-widget-stroke: 64 64 64;
  --switch-unchecked: 100 100 100;
  --series-1: 196 196 196;
}
html[data-uq-theme="graphite"] [data-testid="composer-surface"] {
  background-image: linear-gradient(145deg, #262626, #181818 75%);
  border-color: #404040;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="graphite"] [data-testid="send-button"]:not(:disabled) {
  background-image: linear-gradient(#ebebeb, #b6b6b6);
  color: #212121;
  border: 1px solid #7b8797;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="graphite"] [role="alert"][data-uq-notice], html[data-uq-theme="graphite"] .uq-notice.uq-after {
  background: linear-gradient(145deg, #262626, #181818 75%) !important;
  border: 1px solid #404040 !important;
}
html[data-uq-theme="graphite"] .uq-btn {
  background: linear-gradient(#2d2d2d, #1c1c1c); border: 1px solid #404040; color: #f2f2f2;
}
html[data-uq-theme="graphite"] .uq-btn:hover { border-color: #6c6c6c; }
html[data-uq-theme="graphite"] .uq-btn.uq-primary {
  background: linear-gradient(#ebebeb, #b6b6b6); border-color: #7b8797; color: #212121;
}
html[data-uq-theme="graphite"] .uq-btn.uq-primary:hover { background: linear-gradient(#efefef, #bfbfbf); }
/* slate */
html[data-uq-theme="slate"], html[data-uq-theme="slate"].dark {
  --presentation: 7 9 12;
  --text-primary: 242 242 242;
  --text-secondary: 184 190 199;
  --text-secondary-alt: 157 166 179;
  --text-tertiary: 157 166 179;
  --text-muted: 120 127 138;
  --link: 171 199 242;
  --link-hover: 192 213 245;
  --link-visited: 171 199 242;
  --accent-primary: 171 199 242;
  --accent-primary-hover: 192 213 245;
  --ring-primary: 171 199 242;
  --header-primary: 16 19 25;
  --header-hover: 37 46 60;
  --header-button-hover: 37 46 60;
  --surface-active: 45 56 70;
  --surface-active-alt: 37 46 60;
  --surface-hover: 37 46 60;
  --surface-hover-alt: 45 56 70;
  --surface-composer-hover: 30 37 48;
  --surface-primary: 9 11 15;
  --surface-primary-alt: 12 15 20;
  --surface-primary-contrast: 23 28 36;
  --surface-secondary: 16 19 25;
  --surface-secondary-alt: 23 28 36;
  --surface-tertiary: 23 28 36;
  --surface-tertiary-alt: 37 46 60;
  --surface-dialog: 23 28 36;
  --surface-chat: 23 28 36;
  --surface-code: 7 9 12;
  --surface-submit: 159 184 223;
  --surface-submit-hover: 224 236 255;
  --surface-inverted: 242 242 242;
  --surface-inverted-hover: 255 255 255;
  --text-inverted: 9 11 15;
  --border-light: 38 46 58;
  --border-medium-alt: 53 65 81;
  --border-medium: 53 65 81;
  --border-heavy: 91 100 113;
  --border-xheavy: 119 127 137;
  --chart-widget-surface: 23 28 36;
  --chart-widget-stroke: 53 65 81;
  --switch-unchecked: 91 100 113;
  --series-1: 171 199 242;
}
html[data-uq-theme="slate"] [data-testid="composer-surface"] {
  background-image: linear-gradient(145deg, #202733, #141920 75%);
  border-color: #354151;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="slate"] [data-testid="send-button"]:not(:disabled) {
  background-image: linear-gradient(#e0ecff, #9fb8df);
  color: #142238;
  border: 1px solid #7b8797;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="slate"] [role="alert"][data-uq-notice], html[data-uq-theme="slate"] .uq-notice.uq-after {
  background: linear-gradient(145deg, #202733, #141920 75%) !important;
  border: 1px solid #354151 !important;
}
html[data-uq-theme="slate"] .uq-btn {
  background: linear-gradient(#252e3c, #171c24); border: 1px solid #354151; color: #f2f2f2;
}
html[data-uq-theme="slate"] .uq-btn:hover { border-color: #646d79; }
html[data-uq-theme="slate"] .uq-btn.uq-primary {
  background: linear-gradient(#e0ecff, #9fb8df); border-color: #7b8797; color: #142238;
}
html[data-uq-theme="slate"] .uq-btn.uq-primary:hover { background: linear-gradient(#e6f0ff, #abc1e3); }
/* amber */
html[data-uq-theme="amber"], html[data-uq-theme="amber"].dark {
  --presentation: 10 14 15;
  --text-primary: 240 241 234;
  --text-secondary: 192 199 196;
  --text-secondary-alt: 163 172 168;
  --text-tertiary: 163 172 168;
  --text-muted: 126 133 131;
  --link: 255 195 72;
  --link-hover: 255 210 118;
  --link-visited: 255 195 72;
  --accent-primary: 255 195 72;
  --accent-primary-hover: 255 210 118;
  --ring-primary: 255 195 72;
  --header-primary: 18 24 27;
  --header-hover: 35 44 48;
  --header-button-hover: 35 44 48;
  --surface-active: 48 58 62;
  --surface-active-alt: 35 44 48;
  --surface-hover: 35 44 48;
  --surface-hover-alt: 48 58 62;
  --surface-composer-hover: 29 38 42;
  --surface-primary: 13 17 19;
  --surface-primary-alt: 16 20 23;
  --surface-primary-contrast: 23 32 36;
  --surface-secondary: 18 24 27;
  --surface-secondary-alt: 23 32 36;
  --surface-tertiary: 23 32 36;
  --surface-tertiary-alt: 35 44 48;
  --surface-dialog: 23 32 36;
  --surface-chat: 23 32 36;
  --surface-code: 10 14 15;
  --surface-submit: 240 171 38;
  --surface-submit-hover: 255 211 111;
  --surface-inverted: 240 241 234;
  --surface-inverted-hover: 255 255 255;
  --text-inverted: 13 17 19;
  --border-light: 44 52 56;
  --border-medium-alt: 61 71 76;
  --border-medium: 61 71 76;
  --border-heavy: 97 105 108;
  --border-xheavy: 124 130 131;
  --chart-widget-surface: 23 32 36;
  --chart-widget-stroke: 61 71 76;
  --switch-unchecked: 97 105 108;
  --series-1: 255 195 72;
}
html[data-uq-theme="amber"] [data-testid="composer-surface"] {
  background-image: linear-gradient(145deg, #1b2529, #141c20 75%);
  border-color: #3d474c;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .05), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="amber"] [data-testid="send-button"]:not(:disabled) {
  background-image: linear-gradient(#ffd36f, #f0ab26);
  color: #1a1408;
  border: 1px solid #b97a12;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45);
}
html[data-uq-theme="amber"] [role="alert"][data-uq-notice], html[data-uq-theme="amber"] .uq-notice.uq-after {
  background: linear-gradient(145deg, #1b2529, #141c20 75%) !important;
  border: 1px solid #3d474c !important;
}
html[data-uq-theme="amber"] .uq-btn {
  background: linear-gradient(#232c30, #172024); border: 1px solid #3d474c; color: #f0f1ea;
}
html[data-uq-theme="amber"] .uq-btn:hover { border-color: #6a7274; }
html[data-uq-theme="amber"] .uq-btn.uq-primary {
  background: linear-gradient(#ffd36f, #f0ab26); border-color: #b97a12; color: #1a1408;
}
html[data-uq-theme="amber"] .uq-btn.uq-primary:hover { background: linear-gradient(#ffdc8c, #f2b540); }
/* [claude-opus-5-5 2026-10-05] Owner: the welcome line "looks terrible", its letter-by-letter animation "unbelievably
   slow" and wobbly. It is set like the theme's own page titles, still, without the icon: Studio, Silver, Graphite and
   Slate title in Segoe UI 530 with tight spacing; only razzphox titles in Barlow Condensed (bundled). */
@font-face { font-family: 'Barlow Condensed'; font-weight: 600; font-style: normal; font-display: swap; src: url('./BarlowCondensed-SemiBold.ttf') format('truetype'); }
p.split-parent { font-family: "Segoe UI", system-ui, sans-serif !important; font-weight: 530 !important; letter-spacing: -.035em;
  font-size: 1.6rem !important; line-height: 1.35 !important; overflow: visible !important; padding-bottom: .08em; color: rgb(var(--text-primary)) !important; text-align: center; }
html[data-uq-theme="amber"] p.split-parent { font-family: 'Barlow Condensed', Tahoma, Verdana, Arial, sans-serif !important; font-weight: 600 !important; letter-spacing: .005em; font-size: 2rem !important; }
p.split-parent, p.split-parent * { animation: none !important; transition: none !important; transform: none !important; opacity: 1 !important; filter: none !important; }
div:has(> p.split-parent) > :not(p) { display: none !important; }
/* [claude-opus-5-5 2026-10-05] Owner: no piecemeal chat. While it loads under the site's cover (site-theme.js),
   animations finish at once so the chat shows already settled. */
html.uq-loading *, html.uq-loading *::before, html.uq-loading *::after { transition: none !important; animation-duration: .001s !important; animation-delay: 0s !important; }
/* [claude-opus-5-5 2026-10-05] The models' icons are the site's square tiles (model-glm.svg, model-qwen.svg), not
   cropped to LibreChat's circle; the tile draws its own rounded corners. */
.rounded-full:is(:has(> img[src*="/assets/model-"]), :has(> * > img[src*="/assets/model-"])) { border-radius: 0 !important; overflow: visible !important; }
/* Owner: larger, "an appropriate size rather so they're not too small": each sized to what is beside it (LibreChat
   draws them at 20-24px): 24px in the header button, 28px beside a reply's name, 28px in the model menu where each
   entry is a name over two lines of description, 22px in the sidebar's chat list rows. */
.icon-md:has(> img[src*="/assets/model-"]) { width: 24px !important; height: 24px !important; }
[role="option"] .icon-md:has(> img[src*="/assets/model-"]) { width: 28px !important; height: 28px !important; }
.size-6:has(> .icon-md > img[src*="/assets/model-"]), .size-6:has(> .icon-md > img[src*="/assets/model-"]) > .icon-md { width: 28px !important; height: 28px !important; }
[role="gridcell"] .rounded-full:has(> img[src*="/assets/model-"]) { width: 22px !important; height: 22px !important; flex: none; }
img[src*="/assets/model-"] { width: 100% !important; height: 100% !important; }
/* [claude-opus-5-5 2026-10-05] Owner: the limits handled "beautifully and gracefully and thematically appropriately
   ... with appropriate signposting". LibreChat's red error box becomes the site's notice (site-theme.js): a panel in the
   theme's colours with the banners' gold edge, a title, the detail, and the site's buttons (the primary one drawn like
   the send button). The same panel follows a reply when the free allowance ran out during it. */
[role="alert"][data-uq-notice], .uq-notice.uq-after { border-radius: 8px !important; padding: 11px 14px 12px !important;
  box-shadow: inset 0 1px #d9bb7612, inset 2px 0 #b49a6480, 0 1px 0 rgb(0 0 0 / .4) !important; }
[role="alert"][data-uq-notice] > :not(.uq-notice) { display: none !important; }
.uq-notice.uq-after { margin-top: 14px; }
.uq-notice-title { color: rgb(var(--text-primary)); font-size: 14px; font-weight: 600; line-height: 1.4; }
.uq-notice-body { margin-top: 3px; color: rgb(var(--text-secondary)); font-size: 13px; line-height: 1.55; }
.uq-notice-body b { color: rgb(var(--text-primary)); font-weight: 600; }
.uq-notice-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 11px; }
.uq-btn { padding: 5px 12px; border-radius: 6px; font-size: 12.5px; font-weight: 550; line-height: 18px; cursor: pointer;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / .06), 0 1px 0 rgb(0 0 0 / .45); transition: border-color .15s, background .15s; }
.uq-btn.uq-primary { box-shadow: inset 0 1px 0 rgb(255 255 255 / .35), 0 1px 0 rgb(0 0 0 / .45); }
.uq-btn:active { box-shadow: inset 0 1px 2px rgb(0 0 0 / .5); }
/* a guest (no account) has no account menu (site-theme.js) */
html[data-uq-guest] [data-testid="nav-user"] { display: none !important; }
/* message text in the theme's text colour (LibreChat's prose styles use their own grey) */
.markdown.prose, .message-content { color: rgb(var(--text-primary)); }
