/**
 * UI tokens and mode maps extracted from head.php.
 * Dynamic runtime tokens are injected inline in head.php.
 */
:root {
  --sidebar-w: 280px;
  --sidebar-mini-w: 92px;
  --t-accent: #6f6fff;
  --t-accent-rgb: 111,111,255;
  --t-radius: 18px;
  --t-font-sans: "Manrope", "Inter", "Segoe UI", Roboto, "Noto Sans", "SF Pro Text", "Helvetica Neue", Arial, sans-serif;
  --t-font-mono: "JetBrains Mono", "Cascadia Mono", "Consolas", monospace;
  --t-font-scale: 1;
  --t-motion-fast: .16s;
  --t-motion-base: .24s;
  --t-motion-slow: .42s;
  --t-ease-standard: cubic-bezier(.2,.8,.2,1);
  --t-ease-emphasis: cubic-bezier(.16,1,.3,1);
  --t-surface-border-alpha: .5;
  --t-surface-bg-alpha: .62;
  --t-surface-line-soft: rgba(255,255,255,.08);
  --t-surface-line-strong: rgba(255,255,255,.16);
  --t-surface-highlight: rgba(255,255,255,.06);
  --t-surface-tint-warm-alpha: .16;
  --t-surface-tint-cool-alpha: .12;
  --t-surface-noise-alpha: .02;
  --t-focus-ring-alpha: .16;
  --t-card-shadow: 0 18px 46px rgba(9,15,24,.09), 0 4px 14px rgba(9,15,24,.05);
  --t-card-shadow-hover: 0 28px 60px rgba(9,15,24,.15), 0 12px 26px rgba(9,15,24,.08);
  --t-card-shadow-soft: 0 12px 30px rgba(9,15,24,.08), 0 2px 8px rgba(9,15,24,.04);
  --t-glass-blur-soft: 12px;
  --t-glass-blur-strong: 18px;
  --t-shell-glow-warm: rgba(var(--t-brand-warm-rgb), .18);
  --t-shell-glow-cool: rgba(var(--t-brand-cool-rgb), .16);
  --t-content-max: min(1240px, calc(100vw - 2.2rem));
  --t-content-pad-x: clamp(.7rem, 1.1vw, 1.35rem);
  --t-layout-max: var(--t-content-max);
  --t-layout-pad-x: var(--t-content-pad-x);
  --t-layout-pad-left: var(--t-layout-pad-x);
  --t-layout-pad-right: var(--t-layout-pad-x);
  --t-shell-content-max: var(--t-layout-max);
  --t-shell-content-pad-x: var(--t-layout-pad-x);
  --t-shell-chrome-gap: clamp(.45rem, 1vw, .9rem);
  --t-psy-1: 236,118,88;
  --t-psy-2: 82,190,178;
  --t-psy-3: 244,186,102;
  --t-psy-4: 126,154,234;
  --t-brand-warm-rgb: 236,118,88;
  --t-brand-cool-rgb: 82,190,178;
  --t-brand-ink-rgb: 28,38,58;
  --t-brand-mist-rgb: 214,228,240;
  --t-space-1: .25rem;
  --t-space-2: .5rem;
  --t-space-3: .75rem;
  --t-space-4: 1rem;
  --t-space-5: 1.25rem;
  --t-space-6: 1.5rem;
  --t-user-cover-bg: none;
  --t-shell-brand-logo-size: 22px;
  --t-shell-brand-title-max: 180px;
  --t-shell-topbar-min-height: 44px;
  --t-shell-topbar-row-min-height: 42px;
  --t-shell-topbar-btn-min-height: 28px;
  --t-shell-topbar-btn-radius: 999px;
  --t-shell-topbar-btn-bg-alpha: .62;
  --t-shell-topbar-btn-border-alpha: .66;
  --t-shell-topbar-profile-max: 176px;
  --t-shell-topbar-avatar-size: 22px;
  --t-shell-topbar-bg-alpha: .8;
  --t-shell-topbar-border-alpha: var(--t-surface-border-alpha);
  --t-shell-topbar-shadow: 0 8px 22px rgba(9,15,24,.11), inset 0 1px 0 rgba(255,255,255,.06);
  --t-shell-sidebar-pad-x: .75rem;
  --t-shell-sidebar-pad-y: .45rem;
  --t-shell-sidebar-gap: .75rem;
  --t-shell-nav-gap: .6rem;
  --t-shell-nav-section-pad: .25rem;
  --t-shell-nav-item-pad-y: .58rem;
  --t-shell-nav-item-pad-x: .65rem;
  --t-shell-nav-icon-size: 36px;
  --t-shell-nav-pill-offset: 10px;
  --t-shell-chrome-bg-alpha: .56;
  --t-shell-nav-section-bg-alpha: .46;
  --t-shell-sidebar-head-min-height: 42px;
  --t-shell-sidebar-collapse-size: 38px;
  --t-shell-sidebar-collapse-radius: 999px;
  --t-shell-chat-w: 436px;
  --t-shell-chat-mini-w: 74px;
  --t-chat-sidebar-radius: 16px;
  --t-chat-sidebar-border-alpha: .44;
  --t-chat-sidebar-bg-alpha: var(--t-shell-chrome-bg-alpha);
  --t-chat-sidebar-item-bg-alpha: .62;
  --t-chat-sidebar-pane-bg-alpha: .6;
  --t-chat-sidebar-msg-bg-alpha: .78;
  --t-chat-sidebar-gap: .45rem;
  --t-chat-sidebar-pad: .42rem;
  --t-chat-sidebar-title-size: .94rem;
  --t-chat-sidebar-text-size: .8rem;
}
html[data-ui-palette="warm"] {
      --t-brand-warm-rgb: 248,136,94;
      --t-brand-cool-rgb: 96,176,164;
      --t-brand-ink-rgb: 45,36,33;
      --t-brand-mist-rgb: 238,222,210;
    }
html[data-ui-palette="neutral"] {
      --t-brand-warm-rgb: 236,118,88;
      --t-brand-cool-rgb: 82,190,178;
      --t-brand-ink-rgb: 28,38,58;
      --t-brand-mist-rgb: 214,228,240;
    }
html[data-ui-palette="contrast"] {
      --t-brand-warm-rgb: 255,108,92;
      --t-brand-cool-rgb: 58,197,226;
      --t-brand-ink-rgb: 16,24,38;
      --t-brand-mist-rgb: 232,241,255;
      --t-surface-border-alpha: .74;
      --t-surface-bg-alpha: .7;
      --t-surface-tint-warm-alpha: .22;
      --t-surface-tint-cool-alpha: .18;
      --t-shell-topbar-btn-border-alpha: .76;
      --t-chat-sidebar-border-alpha: .58;
    }
/* Bootstrap primary override (works for both themes) */
[data-bs-theme] {
      --bs-primary: var(--t-accent);
      --bs-primary-rgb: var(--t-accent-rgb);
      --bs-border-radius: var(--t-radius);
      --bs-border-radius-sm: calc(var(--t-radius) * .75);
      --bs-border-radius-lg: calc(var(--t-radius) * 1.15);
      --bs-body-font-family: var(--t-font-sans);
    }
[data-bs-theme="light"] {
      --t-shell-topbar-bg-alpha: .86;
      --t-shell-topbar-btn-bg-alpha: .7;
      --t-shell-topbar-btn-border-alpha: .64;
      --t-shell-chrome-bg-alpha: .58;
      --t-shell-nav-section-bg-alpha: .48;
      --t-surface-line-soft: rgba(255,255,255,.1);
      --t-surface-line-strong: rgba(255,255,255,.2);
      --t-surface-highlight: rgba(255,255,255,.08);
      --t-card-shadow: 0 18px 44px rgba(9,15,24,.08), 0 4px 12px rgba(9,15,24,.04);
      --t-card-shadow-hover: 0 30px 62px rgba(9,15,24,.14), 0 12px 26px rgba(9,15,24,.08);
    }
[data-bs-theme="dark"] {
      --t-shell-topbar-bg-alpha: .9;
      --t-shell-topbar-btn-bg-alpha: .74;
      --t-shell-topbar-btn-border-alpha: .56;
      --t-shell-chrome-bg-alpha: .74;
      --t-shell-nav-section-bg-alpha: .58;
      --t-chat-sidebar-bg-alpha: .78;
      --t-chat-sidebar-item-bg-alpha: .76;
      --t-chat-sidebar-pane-bg-alpha: .8;
      --t-chat-sidebar-msg-bg-alpha: .9;
      --t-surface-line-soft: rgba(255,255,255,.06);
      --t-surface-line-strong: rgba(255,255,255,.12);
      --t-surface-highlight: rgba(255,255,255,.04);
      --t-surface-noise-alpha: .028;
      --t-card-shadow: 0 24px 56px rgba(0,0,0,.32), 0 8px 18px rgba(0,0,0,.22);
      --t-card-shadow-hover: 0 34px 70px rgba(0,0,0,.4), 0 16px 30px rgba(0,0,0,.24);
      --t-card-shadow-soft: 0 18px 36px rgba(0,0,0,.24), 0 4px 10px rgba(0,0,0,.16);
      --t-shell-glow-warm: rgba(var(--t-brand-warm-rgb), .24);
      --t-shell-glow-cool: rgba(var(--t-brand-cool-rgb), .2);
    }
html { font-size: calc(16px * var(--t-font-scale)); }
html[data-ui-font-family="system"] {
      --t-font-sans: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
    }
html[data-ui-font-family="classic"] {
      --t-font-sans: "PT Sans", "Segoe UI", Tahoma, Verdana, "Noto Sans", Arial, sans-serif;
    }
html[data-ui-font-family="rounded"] {
      --t-font-sans: "Rubik", "Trebuchet MS", "Segoe UI", "Avenir Next", "Noto Sans", Arial, sans-serif;
    }
html[data-ui-font-family="plex"] {
      --t-font-sans: "IBM Plex Sans", "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
    }
html[data-ui-font-family="montserrat"] {
      --t-font-sans: "Montserrat", "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif;
    }
html[data-ui-content-width="narrow"] {
      --t-content-max: min(980px, calc(100vw - 3.5rem));
      --t-content-pad-x: clamp(.95rem, 1.4vw, 1.7rem);
    }
html[data-ui-content-width="normal"] {
      --t-content-max: min(1240px, calc(100vw - 2.2rem));
      --t-content-pad-x: clamp(.75rem, 1.15vw, 1.35rem);
    }
html[data-ui-content-width="wide"] {
      --t-content-max: min(1600px, calc(100vw - 1.15rem));
      --t-content-pad-x: clamp(.55rem, .95vw, 1.05rem);
    }
html[data-ui-content-width="full"] {
      --t-content-max: calc(100vw - .35rem);
      --t-content-pad-x: clamp(.4rem, .75vw, .8rem);
    }
@media (min-width: 768px) {
  html {
        --t-layout-max: var(--t-content-max) !important;
        --t-layout-pad-x: var(--t-content-pad-x) !important;
        --t-layout-pad-left: var(--t-layout-pad-x) !important;
        --t-layout-pad-right: var(--t-layout-pad-x) !important;
        --t-shell-content-max: var(--t-layout-max) !important;
        --t-shell-content-pad-x: var(--t-layout-pad-x) !important;
      }
}
@media (max-width: 767.98px) {
  html {
        --t-content-max: 100% !important;
        --t-content-pad-x: clamp(.5rem, 3vw, .8rem) !important;
        --t-layout-max: 100% !important;
        --t-layout-pad-x: clamp(.5rem, 3vw, .8rem) !important;
        --t-layout-pad-left: max(clamp(.5rem, 3vw, .8rem), env(safe-area-inset-left)) !important;
        --t-layout-pad-right: max(clamp(.5rem, 3vw, .8rem), env(safe-area-inset-right)) !important;
        --t-shell-content-max: 100% !important;
        --t-shell-content-pad-x: clamp(.5rem, 3vw, .8rem) !important;
      }
}
html[data-ui-surfaces="soft"] {
      --t-surface-border-alpha: .40;
      --t-surface-bg-alpha: .42;
      --t-surface-tint-warm-alpha: .11;
      --t-surface-tint-cool-alpha: .08;
      --t-card-shadow: 0 12px 26px rgba(0,0,0,.05), 0 2px 8px rgba(0,0,0,.03);
      --t-shell-topbar-bg-alpha: .70;
      --t-shell-chrome-bg-alpha: .44;
      --t-shell-nav-section-bg-alpha: .32;
    }
html[data-ui-surfaces="balanced"] {
      --t-surface-border-alpha: .55;
      --t-surface-bg-alpha: .58;
      --t-surface-tint-warm-alpha: .16;
      --t-surface-tint-cool-alpha: .12;
      --t-card-shadow: 0 18px 46px rgba(0,0,0,.08), 0 4px 12px rgba(0,0,0,.05);
      --t-shell-topbar-bg-alpha: .76;
      --t-shell-chrome-bg-alpha: .52;
      --t-shell-nav-section-bg-alpha: .40;
    }
html[data-ui-surfaces="strong"] {
      --t-surface-border-alpha: .78;
      --t-surface-bg-alpha: .74;
      --t-surface-tint-warm-alpha: .22;
      --t-surface-tint-cool-alpha: .18;
      --t-card-shadow: 0 24px 56px rgba(0,0,0,.14), 0 8px 18px rgba(0,0,0,.08);
      --t-shell-topbar-bg-alpha: .84;
      --t-shell-chrome-bg-alpha: .68;
      --t-shell-nav-section-bg-alpha: .56;
    }
html[data-ui-density="compact"] .container { max-width: var(--t-layout-max); }
html[data-ui-density="compact"] {
      --t-shell-brand-title-max: 152px;
      --t-shell-topbar-min-height: 40px;
      --t-shell-topbar-row-min-height: 38px;
      --t-shell-topbar-btn-min-height: 26px;
      --t-shell-topbar-avatar-size: 20px;
      --t-shell-sidebar-pad-x: .55rem;
      --t-shell-sidebar-pad-y: .35rem;
      --t-shell-sidebar-gap: .55rem;
      --t-shell-nav-gap: .45rem;
      --t-shell-nav-item-pad-y: .48rem;
      --t-shell-nav-item-pad-x: .52rem;
      --t-shell-nav-icon-size: 32px;
      --t-shell-sidebar-head-min-height: 38px;
      --t-shell-sidebar-collapse-size: 34px;
    }
html[data-ui-density="compact"] .card .card-body { padding: 0.9rem; }
html[data-ui-density="compact"] .list-group-item { padding-top:.45rem; padding-bottom:.45rem; }
html[data-ui-density="compact"] .btn { padding-top:.4rem; padding-bottom:.4rem; }
html[data-ui-density="compact"] .form-control,
html[data-ui-density="compact"] .form-select { padding-top:.4rem; padding-bottom:.4rem; }
html[data-ui-density="relaxed"] {
      --t-shell-brand-title-max: 210px;
      --t-shell-topbar-min-height: 48px;
      --t-shell-topbar-row-min-height: 46px;
      --t-shell-topbar-btn-min-height: 32px;
      --t-shell-topbar-avatar-size: 24px;
      --t-shell-sidebar-pad-x: .95rem;
      --t-shell-sidebar-pad-y: .55rem;
      --t-shell-sidebar-gap: .9rem;
      --t-shell-nav-gap: .72rem;
      --t-shell-nav-item-pad-y: .66rem;
      --t-shell-nav-item-pad-x: .72rem;
      --t-shell-nav-icon-size: 38px;
      --t-shell-sidebar-head-min-height: 46px;
      --t-shell-sidebar-collapse-size: 40px;
    }
html[data-ui-density="relaxed"] .card .card-body { padding: 1.25rem; }
html[data-ui-density="relaxed"] .list-group-item { padding-top:.72rem; padding-bottom:.72rem; }
html[data-ui-density="relaxed"] .btn { padding-top:.56rem; padding-bottom:.56rem; }
html[data-ui-density="relaxed"] .form-control,
html[data-ui-density="relaxed"] .form-select { padding-top:.56rem; padding-bottom:.56rem; }
html[data-ui-chat-sidebar-contrast="soft"] {
      --t-chat-sidebar-border-alpha: .30;
      --t-chat-sidebar-bg-alpha: .44;
      --t-chat-sidebar-item-bg-alpha: .48;
      --t-chat-sidebar-pane-bg-alpha: .46;
      --t-chat-sidebar-msg-bg-alpha: .62;
    }
html[data-ui-accent-boost="0"] {
      --t-surface-tint-warm-alpha: calc(var(--t-surface-tint-warm-alpha) * .52);
      --t-surface-tint-cool-alpha: calc(var(--t-surface-tint-cool-alpha) * .52);
      --t-focus-ring-alpha: .12;
    }
@media (prefers-reduced-motion: reduce) {
  html {
        --t-motion-fast: .01ms;
        --t-motion-base: .01ms;
        --t-motion-slow: .01ms;
      }
}
html[data-ui-anim="0"] {
      --t-motion-fast: .01ms;
      --t-motion-base: .01ms;
      --t-motion-slow: .01ms;
    }
html[data-ui-chat-sidebar-contrast="balanced"] {
      --t-chat-sidebar-border-alpha: .42;
      --t-chat-sidebar-bg-alpha: var(--t-shell-chrome-bg-alpha);
      --t-chat-sidebar-item-bg-alpha: .58;
      --t-chat-sidebar-pane-bg-alpha: .56;
      --t-chat-sidebar-msg-bg-alpha: .74;
    }
html[data-ui-chat-sidebar-contrast="strong"] {
      --t-chat-sidebar-border-alpha: .62;
      --t-chat-sidebar-bg-alpha: .76;
      --t-chat-sidebar-item-bg-alpha: .78;
      --t-chat-sidebar-pane-bg-alpha: .72;
      --t-chat-sidebar-msg-bg-alpha: .86;
    }
html[data-ui-chat-sidebar-density="compact"] {
      --t-chat-sidebar-gap: .32rem;
      --t-chat-sidebar-pad: .32rem;
      --t-chat-sidebar-title-size: .86rem;
      --t-chat-sidebar-text-size: .75rem;
    }
html[data-ui-chat-sidebar-density="cozy"] {
      --t-chat-sidebar-gap: .45rem;
      --t-chat-sidebar-pad: .42rem;
      --t-chat-sidebar-title-size: .94rem;
      --t-chat-sidebar-text-size: .8rem;
    }
html[data-ui-chat-sidebar-density="roomy"] {
      --t-chat-sidebar-gap: .58rem;
      --t-chat-sidebar-pad: .5rem;
      --t-chat-sidebar-title-size: .98rem;
      --t-chat-sidebar-text-size: .84rem;
    }
html[data-ui-chat-sidebar-preset="focused"] {
      --t-chat-sidebar-bg-alpha: .66;
    }
html[data-ui-chat-sidebar-preset="minimal"] {
      --t-chat-sidebar-border-alpha: .24;
    }
html[data-ui-chat-sidebar-preset="solid"] {
      --t-chat-sidebar-bg-alpha: .88;
      --t-chat-sidebar-border-alpha: .72;
      --t-chat-sidebar-item-bg-alpha: .86;
      --t-chat-sidebar-pane-bg-alpha: .84;
      --t-chat-sidebar-msg-bg-alpha: .9;
    }
