/* Original AOL / Mac-inspired palettes and paired readable surfaces. */
body.theme-aol-aqua {
  color-scheme:light;
  --bg:#f3f7fc; --glass:#f3f7fc; --panel:#ffffff; --panel-strong:#dce9fa; --title:#e8f0fa;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#075ac7; --theme-accent:#075ac7;
  --theme-accent-soft:#dce9fa; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#073da4,#147ce1,#a6e3ff);
  --fm-menu-bg:#f3f7fc; --fm-menu-sidebar:#e8f0fa; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#dce9fa; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#075ac7; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#e8f0fa; --fm-title-text:#192c43;
}

body.theme-aol-cobalt-air {
  color-scheme:light;
  --bg:#f4f5f9; --glass:#f4f5f9; --panel:#ffffff; --panel-strong:#dee6f7; --title:#e9ecf4;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#164ab5; --theme-accent:#164ab5;
  --theme-accent-soft:#dee6f7; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#11265f,#2558ca,#adbbf1);
  --fm-menu-bg:#f4f5f9; --fm-menu-sidebar:#e9ecf4; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#dee6f7; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#164ab5; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#e9ecf4; --fm-title-text:#192c43;
}

body.theme-aol-platinum {
  color-scheme:light;
  --bg:#f5f6f7; --glass:#f5f6f7; --panel:#ffffff; --panel-strong:#dfe6ec; --title:#ebedef;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#385674; --theme-accent:#385674;
  --theme-accent-soft:#dfe6ec; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#717e90,#b4bdca,#eff3f8);
  --fm-menu-bg:#f5f6f7; --fm-menu-sidebar:#ebedef; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#dfe6ec; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#385674; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#ebedef; --fm-title-text:#192c43;
}

body.theme-aol-graphite {
  color-scheme:dark;
  --bg:#1b2028; --glass:#1b2028; --panel:#232c3b; --panel-strong:#2d3948; --title:#151920;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#9bcaff; --theme-accent:#9bcaff;
  --theme-accent-soft:#2d3948; --theme-accent-border:#596b82;
  --chat-shell:#232c3b; --list-surface:#232c3b; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#101721,#344050,#6a8298);
  --fm-menu-bg:#1b2028; --fm-menu-sidebar:#151920; --fm-menu-card:#232c3b; --fm-menu-field:#151920;
  --fm-menu-selected:#2d3948; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#9bcaff; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#151920; --fm-title-text:#f4f7fc;
}

body.theme-aol-night-shift {
  color-scheme:dark;
  --bg:#141a2b; --glass:#141a2b; --panel:#232c3b; --panel-strong:#28344e; --title:#101422;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#a8bfff; --theme-accent:#a8bfff;
  --theme-accent-soft:#28344e; --theme-accent-border:#596b82;
  --chat-shell:#232c3b; --list-surface:#232c3b; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#070c27,#23377a,#687dce);
  --fm-menu-bg:#141a2b; --fm-menu-sidebar:#101422; --fm-menu-card:#232c3b; --fm-menu-field:#101422;
  --fm-menu-selected:#28344e; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#a8bfff; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#101422; --fm-title-text:#f4f7fc;
}

body.theme-aol-bondi {
  color-scheme:dark;
  --bg:#13292b; --glass:#13292b; --panel:#193337; --panel-strong:#224448; --title:#0e2022;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#75dedb; --theme-accent:#75dedb;
  --theme-accent-soft:#224448; --theme-accent-border:#596b82;
  --chat-shell:#193337; --list-surface:#193337; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#062e40,#167e87,#8de4d9);
  --fm-menu-bg:#13292b; --fm-menu-sidebar:#0e2022; --fm-menu-card:#193337; --fm-menu-field:#0e2022;
  --fm-menu-selected:#224448; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#75dedb; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#0e2022; --fm-title-text:#f4f7fc;
}

body.theme-aol-sage {
  color-scheme:light;
  --bg:#f3f7f2; --glass:#f3f7f2; --panel:#ffffff; --panel-strong:#dce9dc; --title:#e8efe7;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#2c654c; --theme-accent:#2c654c;
  --theme-accent-soft:#dce9dc; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#274f4a,#7dafa0,#e2edd6);
  --fm-menu-bg:#f3f7f2; --fm-menu-sidebar:#e8efe7; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#dce9dc; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#2c654c; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#e8efe7; --fm-title-text:#192c43;
}

body.theme-aol-rose {
  color-scheme:light;
  --bg:#fcf4f6; --glass:#fcf4f6; --panel:#ffffff; --panel-strong:#f0dde5; --title:#f3e9ed;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#a02857; --theme-accent:#a02857;
  --theme-accent-soft:#f0dde5; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#6e264f,#bf789e,#ffd4d4);
  --fm-menu-bg:#fcf4f6; --fm-menu-sidebar:#f3e9ed; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#f0dde5; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#a02857; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#f3e9ed; --fm-title-text:#192c43;
}

body.theme-aol-lilac {
  color-scheme:light;
  --bg:#f7f4fc; --glass:#f7f4fc; --panel:#ffffff; --panel-strong:#e7ddf3; --title:#efeaf6;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#6e3dae; --theme-accent:#6e3dae;
  --theme-accent-soft:#e7ddf3; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#382d78,#9581ce,#e8dfff);
  --fm-menu-bg:#f7f4fc; --fm-menu-sidebar:#efeaf6; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#e7ddf3; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#6e3dae; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#efeaf6; --fm-title-text:#192c43;
}

body.theme-aol-tangerine {
  color-scheme:dark;
  --bg:#29201b; --glass:#29201b; --panel:#342922; --panel-strong:#44362b; --title:#211a17;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#ffba86; --theme-accent:#ffba86;
  --theme-accent-soft:#44362b; --theme-accent-border:#596b82;
  --chat-shell:#342922; --list-surface:#342922; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#42201c,#bd5934,#ffc18b);
  --fm-menu-bg:#29201b; --fm-menu-sidebar:#211a17; --fm-menu-card:#342922; --fm-menu-field:#211a17;
  --fm-menu-selected:#44362b; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#ffba86; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#211a17; --fm-title-text:#f4f7fc;
}

body.theme-aol-champagne {
  color-scheme:light;
  --bg:#faf7f0; --glass:#faf7f0; --panel:#ffffff; --panel-strong:#e9dfca; --title:#f1ebdf;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#75551e; --theme-accent:#75551e;
  --theme-accent-soft:#e9dfca; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#786349,#bca277,#f4e6c5);
  --fm-menu-bg:#faf7f0; --fm-menu-sidebar:#f1ebdf; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#e9dfca; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#75551e; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#f1ebdf; --fm-title-text:#192c43;
}

body.theme-aol-glacier {
  color-scheme:light;
  --bg:#f2f8fa; --glass:#f2f8fa; --panel:#ffffff; --panel-strong:#d8e9f0; --title:#e6f0f4;
  --text:#192c43; --muted:#455569; --stroke:#a9b5c4; --accent:#096281; --theme-accent:#096281;
  --theme-accent-soft:#d8e9f0; --theme-accent-border:#a9b5c4;
  --chat-shell:#ffffff; --list-surface:#ffffff; --list-text:#192c43; --list-muted:#455569;
  --theme-gradient:linear-gradient(135deg,#174269,#5fa9c5,#d7f7fc);
  --fm-menu-bg:#f2f8fa; --fm-menu-sidebar:#e6f0f4; --fm-menu-card:#ffffff; --fm-menu-field:#ffffff;
  --fm-menu-selected:#d8e9f0; --fm-menu-border:#a9b5c4; --fm-menu-text:#192c43; --fm-menu-muted:#455569;
  --fm-menu-action:#096281; --fm-menu-on-action:#ffffff; --fm-menu-scheme:light;
  --fm-title-bg:#e6f0f4; --fm-title-text:#192c43;
}

body.theme-aol-pacific {
  color-scheme:dark;
  --bg:#122336; --glass:#122336; --panel:#1a2e44; --panel-strong:#243e56; --title:#0c1b2b;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#89d5ff; --theme-accent:#89d5ff;
  --theme-accent-soft:#243e56; --theme-accent-border:#596b82;
  --chat-shell:#1a2e44; --list-surface:#1a2e44; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#051c37,#1166a1,#80d9ec);
  --fm-menu-bg:#122336; --fm-menu-sidebar:#0c1b2b; --fm-menu-card:#1a2e44; --fm-menu-field:#0c1b2b;
  --fm-menu-selected:#243e56; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#89d5ff; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#0c1b2b; --fm-title-text:#f4f7fc;
}

body.theme-aol-sunset {
  color-scheme:dark;
  --bg:#2b1c2a; --glass:#2b1c2a; --panel:#362333; --panel-strong:#453040; --title:#221620;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#ffc2bb; --theme-accent:#ffc2bb;
  --theme-accent-soft:#453040; --theme-accent-border:#596b82;
  --chat-shell:#362333; --list-surface:#362333; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#341c4c,#a64f75,#ffad91);
  --fm-menu-bg:#2b1c2a; --fm-menu-sidebar:#221620; --fm-menu-card:#362333; --fm-menu-field:#221620;
  --fm-menu-selected:#453040; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#ffc2bb; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#221620; --fm-title-text:#f4f7fc;
}

body.theme-aol-ultraviolet {
  color-scheme:dark;
  --bg:#211a32; --glass:#211a32; --panel:#2b223f; --panel-strong:#382e4d; --title:#191426;
  --text:#f4f7fc; --muted:#c0ccdc; --stroke:#596b82; --accent:#ceb4ff; --theme-accent:#ceb4ff;
  --theme-accent-soft:#382e4d; --theme-accent-border:#596b82;
  --chat-shell:#2b223f; --list-surface:#2b223f; --list-text:#f4f7fc; --list-muted:#c0ccdc;
  --theme-gradient:linear-gradient(135deg,#140c36,#5d3ca7,#b790f4);
  --fm-menu-bg:#211a32; --fm-menu-sidebar:#191426; --fm-menu-card:#2b223f; --fm-menu-field:#191426;
  --fm-menu-selected:#382e4d; --fm-menu-border:#596b82; --fm-menu-text:#f4f7fc; --fm-menu-muted:#c0ccdc;
  --fm-menu-action:#ceb4ff; --fm-menu-on-action:#132033; --fm-menu-scheme:dark;
  --fm-title-bg:#191426; --fm-title-text:#f4f7fc;
}

/* Reuse the existing Graphite Mist traffic-light rules. No new controls. */
body.fm-premium-theme .fm-window > .titlebar{
  padding: 0 13px;
  position: relative;
  cursor: default;
  -webkit-user-select: none;
  user-select: none;
}
body.fm-premium-theme .fm-window > .titlebar > .window-actions{
  order: -1;
  display: flex;
  gap: 7px;
  align-items: center;
}
body.fm-premium-theme .fm-window .window-actions button{
  width: 11.5px !important;
  height: 11.5px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  border: 0 !important;
  font-size: 0 !important;
  color: transparent !important;
  background: #555 !important;
  flex: 0 0 auto !important;
  transition: filter 0.15s ease !important;
  box-shadow: none !important;
}
body.fm-premium-theme .fm-window .window-actions button:hover{
  filter: brightness(1.18);
}
body.fm-premium-theme .fm-window .window-actions button[data-close]{
  background: linear-gradient(180deg, #ff7363, #ff5f57);
  order: 0;
}
body.fm-premium-theme .fm-window .window-actions button[data-minimize]{
  background: linear-gradient(180deg, #ffc54a, #febc2e);
  order: 1;
}
body.fm-premium-theme .fm-window .window-actions button[data-maximize]{
  background: linear-gradient(180deg, #2bd440, #28c940);
  order: 2;
}
body.fm-premium-theme .fm-window .window-actions button[data-close]{
  background: linear-gradient(180deg, #F58280 0%, #EC6765 70%, #DD5852 100%) !important;
  box-shadow:
    inset 0 -0.5px 1px rgba(0,0,0,0.18),
    inset 0 0.5px 0.5px rgba(255,255,255,0.22) !important;
  position: relative;
}
body.fm-premium-theme .fm-window .window-actions button[data-minimize]{
  background: linear-gradient(180deg, #FCD66B 0%, #F2CA44 70%, #E5B92F 100%) !important;
  box-shadow:
    inset 0 -0.5px 1px rgba(0,0,0,0.18),
    inset 0 0.5px 0.5px rgba(255,255,255,0.22) !important;
  position: relative;
}
body.fm-premium-theme .fm-window .window-actions button[data-maximize]{
  background: linear-gradient(180deg, #7DD380 0%, #65C466 70%, #4FB854 100%) !important;
  box-shadow:
    inset 0 -0.5px 1px rgba(0,0,0,0.18),
    inset 0 0.5px 0.5px rgba(255,255,255,0.22) !important;
  position: relative;
}
body.fm-premium-theme .fm-window:not(.active) .window-actions button[data-close],
body.fm-premium-theme .fm-window:not(.active) .window-actions button[data-minimize],
body.fm-premium-theme .fm-window:not(.active) .window-actions button[data-maximize]{
  background: #3D3D3D !important;
  box-shadow: none !important;
}
body.fm-premium-theme .fm-window .window-actions button::before{
  content: "";
  position: absolute;
  inset: 0;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  transition: opacity 0.14s ease;
  pointer-events: none;
  font-size: 0;
}
body.fm-premium-theme .fm-window .window-actions button[data-close]::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M4 4 L8 8 M8 4 L4 8' stroke='black' stroke-opacity='0.62' stroke-width='1.2' stroke-linecap='round' fill='none'/></svg>");
}
body.fm-premium-theme .fm-window .window-actions button[data-minimize]::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3 6 L9 6' stroke='black' stroke-opacity='0.6' stroke-width='1.3' stroke-linecap='round' fill='none'/></svg>");
}
body.fm-premium-theme .fm-window .window-actions button[data-maximize]::before{
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'><path d='M3.2 6.8 L3.2 3.2 L6.8 3.2 Z M8.8 5.2 L8.8 8.8 L5.2 8.8 Z' fill='black' fill-opacity='0.6'/></svg>");
}
body.fm-premium-theme .fm-window.active .window-actions:hover button::before{
  opacity: 1;
}
body.fm-premium-theme .fm-window .titlebar{
  background: rgba(38, 42, 50, 0.82) !important;
  border-bottom: 1px solid rgba(255,255,255,0.08) !important;
  height: 30px !important;
  min-height: 30px !important;
  flex-basis: 30px !important;
  padding: 0 13px !important;
  font-size: 12px !important;
  -webkit-backdrop-filter: blur(20px) saturate(180%);
  backdrop-filter: blur(20px) saturate(180%);
}
body.fm-premium-theme .fm-window .titlebar > div:first-child{
  color: rgba(255,255,255,0.85) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: -0.01em !important;
  font-family: "SF Pro", "SF Pro Text", -apple-system, BlinkMacSystemFont, sans-serif !important;
}

/* Reading surfaces are opaque; the wallpaper and soft window shadows carry
   the glass aesthetic. Every foreground below has a matching surface token. */
body.fm-readable-theme {
  --fm-menu-muted:#bcc9dc;
  --fm-title-bg:var(--fm-menu-sidebar);
  --fm-title-text:var(--fm-menu-text);
}
body.fm-readable-theme:is(.theme-porcelain,.theme-linen-cream,.theme-arctic-frost,.theme-pearl-glass,.theme-sandstone,.theme-bubblegum,.theme-sakura-veil) {
  --fm-menu-muted:#3f4c60;
}
/* Premium palettes already define their own title and secondary colors. */
body.fm-readable-theme.fm-premium-theme { --fm-menu-muted:var(--muted); }
body.fm-readable-theme.theme-aol-classic { --fm-title-bg:#0047ab; --fm-title-text:#fff; }
body.fm-readable-theme.theme-aol-midnight { --fm-title-bg:#123d76; --fm-title-text:#fff; }
body.fm-readable-theme.theme-aim-gold { --fm-title-bg:#ffcb05; --fm-title-text:#292417; }

body.fm-readable-theme .fm-window {
  background:var(--fm-menu-bg) !important;
  color:var(--fm-menu-text) !important;
  --text:var(--fm-menu-text); --muted:var(--fm-menu-muted);
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme #desktop .fm-window > .titlebar,
body.fm-readable-theme #win-control.fm-tahoe-settings > .titlebar {
  background:var(--fm-title-bg) !important;
  color:var(--fm-title-text) !important;
  border-bottom-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme #desktop .fm-window > .titlebar > div:first-child,
body.fm-readable-theme .fm-window > .titlebar .room-title-name-text {
  color:var(--fm-title-text) !important; opacity:1 !important;
}
body.fm-readable-theme .fm-window > .window-body {
  background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme :is(.fm-toolbar,.profile-dropdown,#fm-taskbar-clock,.fm-restore-dock) {
  background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme :is(.toolbar-btn,.profile-name,.profile-status,.fm-taskbar-time,.fm-taskbar-date) {
  color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #desktop .fm-window :is(input:not([type=range]):not([type=checkbox]):not([type=radio]):not([type=color]),select,textarea),
body.fm-readable-theme #desktop .fm-window [contenteditable=true] {
  background:var(--fm-menu-field) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important; color-scheme:var(--fm-menu-scheme);
}
body.fm-readable-theme #desktop .fm-window :is(input,textarea)::placeholder {
  color:var(--fm-menu-muted) !important; opacity:1 !important;
}
body.fm-readable-theme .fm-window select option { background:var(--fm-menu-field); color:var(--fm-menu-text); }
body.fm-readable-theme .fm-window :is(button,input,select,textarea,a):focus-visible {
  outline:2px solid var(--fm-menu-action) !important; outline-offset:3px;
}
body.fm-readable-theme .fm-window :is(.primary,.btn-primary,.ppl-filter-tab.active) {
  background:var(--fm-menu-action) !important; color:var(--fm-menu-on-action) !important;
  text-shadow:none !important;
}
body.fm-readable-theme .fm-window :is(.fm-new-im-label,.ppl-hint,.ppl-empty,.pc-empty,.pc-loading,.pc2-most-active-empty,.wc-list-empty) {
  color:var(--fm-menu-muted) !important; opacity:1 !important; text-shadow:none !important;
}
body.fm-readable-theme #win-control .fm-theme-card-check { color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-login :is(.login-brand-fm,.login-brand-online) {
  color:var(--fm-menu-text) !important; text-shadow:none !important; animation:none !important;
}
body.fm-readable-theme #win-login a { color:var(--fm-menu-text) !important; text-decoration:underline; text-underline-offset:3px; }

/* Welcome: the legacy dashboard defines a second palette and several hardcoded
   white/list colors. Tie both systems to the active theme. */
body.fm-readable-theme #fmWelcomeDashboard {
  --fm-text:var(--fm-menu-text); --fm-muted:var(--fm-menu-muted); --fm-muted-2:var(--fm-menu-muted);
  --fm-blue:var(--fm-menu-action); --fm-blue-2:var(--fm-menu-action); --fm-bright:var(--fm-menu-action);
  --fm-footer-bg:var(--fm-menu-sidebar);
  background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important;
  text-shadow:none !important;
}
body.fm-readable-theme #fmWelcomeDashboard :is(.fm-glass-panel,.fm-dashboard-subpanel,.fm-social-sections,.fm-social-list) {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important; box-shadow:none !important;
}
body.fm-readable-theme #fmWelcomeDashboard .fm-dashboard-hero {
  background:var(--fm-menu-sidebar) !important; color:var(--fm-menu-text) !important;
  box-shadow:none !important; border-bottom:1px solid var(--fm-menu-border);
}
body.fm-readable-theme:not(.has-wc-banner) #fmWelcomeDashboard .fm-dashboard-hero::before { display:none !important; }
body.fm-readable-theme #fmWelcomeDashboard :is(h2,h3,.welcome-hello,.welcome-name,.fm-social-row-title,.fm-social-section-title) {
  color:var(--fm-menu-text) !important; text-shadow:none !important; opacity:1 !important;
}
body.fm-readable-theme #fmWelcomeDashboard :is(.fm-dashboard-empty,.wc-list-empty,.fm-social-row-meta,.fm-interest-chip,.fm-dashboard-footer) {
  color:var(--fm-menu-muted) !important; opacity:1 !important; text-shadow:none !important;
}
body.fm-readable-theme #fmWelcomeDashboard .fm-interest-chip { background:var(--fm-menu-selected) !important; box-shadow:none !important; }
body.fm-readable-theme #fmWelcomeDashboard .fm-dashboard-footer { background:var(--fm-menu-sidebar) !important; }
body.fm-readable-theme #fmWelcomeDashboard :is(.fm-social-section-header,.fm-social-section-toggle) {
  background:var(--fm-menu-selected) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important; box-shadow:none !important;
}
/* Custom photo banners keep a solid dark scrim behind their white labels. */
body.fm-readable-theme.has-wc-banner #fmWelcomeDashboard .fm-dashboard-hero::after {
  display:block !important; background:rgba(8,16,29,.76) !important;
}
body.fm-readable-theme.has-wc-banner #fmWelcomeDashboard :is(.welcome-hello,.welcome-name) { color:#fff !important; }

/* Player: the original player was permanently dark even inside light themes. */
body.fm-readable-theme #win-player :is(.fmp-body,.fmp-content,.fmp-view,.fmp-toolbar,.fmp-song-table) {
  background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #win-player :is(.fmp-sidebar,.fmp-now-playing-bar,.fmp-song-header) {
  background:var(--fm-menu-sidebar) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme #win-player :is(.fmp-nav,.fmp-view-title,.fmp-col-title,.fmp-np-title,.fmp-song-title,.fmp-card-title,.fmp-listeners-head) {
  color:var(--fm-menu-text) !important; opacity:1 !important;
}
body.fm-readable-theme #win-player :is(.fmp-sidebar-label,.fmp-time,.fmp-col-num,.fmp-col-artist,.fmp-col-album,.fmp-col-dur,.fmp-np-artist,.fmp-song-artist,.fmp-card-sub,.fmp-dj-status-text,.fmp-listeners-empty,.fmp-empty,.fmp-eq-label,.fmp-eq-db) {
  color:var(--fm-menu-muted) !important; opacity:1 !important;
}
body.fm-readable-theme #win-player :is(.fmp-nav.active,.fmp-song-row:hover,.fmp-song-row.selected,.fmp-song-row.playing) {
  background:var(--fm-menu-selected) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #win-player :is(.fmp-add-btn,.fmp-viz-mode-btn,.fmp-eq-preset,.fmp-eq-mode-btn,.fmp-eq-reset-btn,.fmp-listeners-card,.fmp-pl-delete) {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme #win-player :is(.fmp-icon-btn,.fmp-sidebar-label-btn) { color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-player .fmp-icon-btn.fmp-transport-active {
  background:var(--fm-menu-action) !important; color:var(--fm-menu-on-action) !important;
}
body.fm-readable-theme #win-player .fmp-range { background:var(--fm-menu-muted) !important; }
body.fm-readable-theme #win-player .fmp-range::-webkit-slider-thumb {
  background:var(--fm-menu-text) !important; border:2px solid var(--fm-menu-field);
}
body.fm-readable-theme #win-player .fmp-range::-moz-range-thumb {
  background:var(--fm-menu-text) !important; border:2px solid var(--fm-menu-field);
}
body.fm-readable-theme #win-player :is(#fmp-listener-count,.fmp-play-btn) {
  background:var(--fm-menu-action) !important; color:var(--fm-menu-on-action) !important;
}
body.fm-readable-theme #win-player :is(.fmp-viz-mode-active,.fmp-eq-preset-active,.fmp-eq-mode-active) {
  background:var(--fm-menu-selected) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-action) !important;
}

/* Chat, buddy lists and room member lists use the same paired surfaces.
   Message spans with explicit user formatting retain their selected colors. */
body.fm-readable-theme #desktop .fm-window :is(.chat-main,.room-chat-main,.im-chat-panel,.buddy-well,.buddy-group,.ph-well,.ph-group,.ph-group-content,.pc2-room-list,.ppl-list) {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important; --list-text:var(--fm-menu-text); --list-muted:var(--fm-menu-muted);
}
body.fm-readable-theme .fm-window :is(.people,.room-members-aside,.ph-shell,.ph-group-header,.buddy-group-header,.formatbar,.sendbar,.pc2-sidebar,.pc2-main,.pc2-footer,.ppl-toolbar,.ppl-footer) {
  background:var(--fm-menu-sidebar) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme .fm-window :is(.buddy-name,.ph-name,.ppl-name,.pc2-room-name,.room-title,.ph-group-header,.buddy-group-header,.room-title-name-text) {
  color:var(--fm-menu-text) !important; opacity:1 !important; text-shadow:none !important;
}
body.fm-readable-theme .fm-window :is(.buddy-state,.ph-state,.pc2-room-desc,.pc2-room-meta,.ppl-role,.typing-indicator) {
  color:var(--fm-menu-muted) !important; opacity:1 !important;
}
body.fm-readable-theme .fm-window :is(.im-body,.chat-body)::before { background:none !important; }
body.fm-readable-theme .fm-window :is(.chat-line,.im-chat-panel .chat-line) { color:var(--fm-menu-text) !important; }
body.fm-readable-theme .fm-window .chat-line :is(b.red,b.blue,.chat-line-name) { color:var(--fm-menu-text) !important; }
body.fm-readable-theme .fm-window :is(.formatbar,.ph-actions,.buddy-actions,.pc2-tabs) button:not(.primary):not(.color-dot),
body.fm-readable-theme .fm-window :is(.room-toolbar-btn,.room-member-ctx-item,.ppl-filter-tab:not(.active)) {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important; text-shadow:none !important;
}
body.fm-readable-theme .fm-window :is(.buddy-row:hover,.buddy-row.selected,.ph-row:hover,.ph-row.selected,.pc2-room-row.selected) {
  background:var(--fm-menu-selected) !important;
}
body.fm-readable-theme :is(.fm-context-menu,.fm-dropdown,.fm-popover,.room-member-ctx-menu,.buddy-context-menu,.format-popover,.profile-dropdown,.attachment-menu) {
  background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #win-voice :is(.voice-callbar,.voice-sidebar,.voice-main,.voice-room-panel,.voice-room-list,.voice-lobby) {
  background:var(--fm-menu-sidebar) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #win-voice :is(.voice-callbar-label,.voice-room-name,.voice-section-title) { color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-voice :is(.voice-future-btn,.voice-ctrl,.voice-settings-cog) {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
  border-color:var(--fm-menu-border) !important;
}
body.fm-readable-theme #fmWelcomeDashboard .fm-room-actions button {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #fmWelcomeDashboard .fm-room-actions button span { color:inherit !important; }
body.fm-readable-theme #fmWelcomeDashboard .fm-social-row { background:var(--fm-menu-card) !important; opacity:1 !important; }
body.fm-readable-theme #fmWelcomeDashboard .fm-social-copy strong { color:var(--fm-menu-text) !important; }
body.fm-readable-theme #fmWelcomeDashboard .fm-social-copy small { color:var(--fm-menu-muted) !important; opacity:1 !important; }
body.fm-readable-theme #win-welcome #fmWelcomeDashboard .fm-recent-chats-list {
  background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important;
}
body.fm-readable-theme #win-buddy h4,
body.fm-readable-theme #win-people-connection .pc2-cat-item.active {
  background:var(--fm-menu-selected) !important; color:var(--fm-menu-text) !important;
  text-shadow:none !important;
}
body.fm-readable-theme #win-voice .voice-stage { background:var(--fm-menu-bg) !important; color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-voice .voice-stage-empty { background:var(--fm-menu-card) !important; color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-voice .voice-stage-empty b { color:var(--fm-menu-text) !important; }
body.fm-readable-theme #win-voice .voice-stage-empty span { color:var(--fm-menu-muted) !important; }
body.fm-readable-theme #fmWelcomeDashboard .fm-social-sections summary {
  background:var(--fm-menu-selected) !important; color:var(--fm-menu-text) !important;
  border:1px solid var(--fm-menu-border) !important; box-shadow:none !important; text-shadow:none !important;
}
body.fm-readable-theme #fmWelcomeDashboard .fm-social-sections summary span { color:inherit !important; text-shadow:none !important; }

/* Collection cards preview the existing red / yellow / green controls. */
body #win-control .fm-aol-modern-collection { margin-bottom:28px; }
body #win-control.fm-tahoe-settings #cc-theme-grid-aol-modern { grid-template-columns:repeat(auto-fit,minmax(185px,1fr)) !important; }
body #win-control .fm-aol-modern-collection .fm-theme-preview-top { background:var(--preview-sidebar); height:20px; flex-basis:20px; }
body #win-control .fm-aol-modern-collection .fm-theme-preview-top b { width:5px; height:5px; background:#ec6765; }
body #win-control .fm-aol-modern-collection .fm-theme-preview-top b:nth-child(2) { background:#f2ca44; }
body #win-control .fm-aol-modern-collection .fm-theme-preview-top b:nth-child(3) { background:#65c466; }
body #win-control .fm-aol-modern-collection .fm-theme-preview-content b:nth-child(2) { background:var(--preview-accent); }
body #win-control .fm-aol-modern-collection .fm-theme-mode { font-size:10px !important; letter-spacing:.03em; color:var(--fm-menu-muted) !important; }
body #win-control .fm-aol-modern-collection .fm-theme-card-desc { min-height:32px; }
body #win-control .fm-aol-modern-collection .fm-theme-card-check { bottom:12px !important; }
body.fm-premium-theme {
  font-family:"SF Pro",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  -webkit-font-smoothing:antialiased;
}
body.fm-premium-theme .fm-window { border-radius:13px !important; }
body.fm-premium-theme .fm-window > .titlebar { background:var(--fm-title-bg) !important; color:var(--fm-title-text) !important; }
body.fm-premium-theme .fm-window > .titlebar > div:first-child {
  color:var(--fm-title-text) !important; position:absolute; left:78px; right:78px;
  text-align:center; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
@media (max-width:560px) { body #win-control.fm-tahoe-settings #cc-theme-grid-aol-modern { grid-template-columns:minmax(0,1fr) !important; } }
