/* ═══════════════════════════════════════════════════════════════
   theme.css — ForgeClient FTP Manager
   ═══════════════════════════════════════════════════════════════ */
:root {
  --hue: 210;
  --accent:        hsl(var(--hue), 80%, 58%);
  --accent-dim:    hsl(var(--hue), 70%, 48%);
  --accent-bright: hsl(var(--hue), 90%, 70%);
  --accent-glow:   hsla(var(--hue), 80%, 58%, 0.18);
  --accent-faint:  hsla(var(--hue), 60%, 58%, 0.08);
  --accent-text:   hsl(var(--hue), 90%, 80%);
  --danger:        hsl(4, 80%, 58%);
  --danger-faint:  hsla(4, 80%, 58%, 0.1);
  --success:       hsl(145, 65%, 50%);
  --warning:       hsl(40, 90%, 55%);
  --font-ui:       'Syne', sans-serif;
  --font-mono:     'JetBrains Mono', monospace;
  --radius-sm:  4px;  --radius-md:  8px;
  --radius-lg: 12px;  --radius-xl: 18px;
  --t-fast: 120ms ease; --t-med: 220ms ease;
}
[data-theme="dark"] {
  --bg-base:    #0d0e10; --bg-surface: #141517;
  --bg-raised:  #1c1d20; --bg-hover:   #24252a; --bg-active: #2c2d33;
  --border:     rgba(255,255,255,0.07);
  --border-mid: rgba(255,255,255,0.12);
  --border-hi:  rgba(255,255,255,0.22);
  --text-primary: #e8e9ec; --text-secondary: #9a9ba6; --text-muted: #5a5b66;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.5);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.6);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.7);
}
[data-theme="light"] {
  --bg-base:    #f0f1f5; --bg-surface: #f8f9fc;
  --bg-raised:  #ffffff; --bg-hover:   #ecedf2; --bg-active: #e2e3ea;
  --border:     rgba(0,0,0,0.07);
  --border-mid: rgba(0,0,0,0.13);
  --border-hi:  rgba(0,0,0,0.22);
  --text-primary: #1a1b22; --text-secondary: #5c5d6e; --text-muted: #9a9baa;
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.12);
  --shadow-md: 0 4px 16px rgba(0,0,0,0.14);
  --shadow-lg: 0 8px 40px rgba(0,0,0,0.18);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html,body { height:100%; font-family:var(--font-ui); font-size:13px;
  background:var(--bg-base); color:var(--text-primary);
  transition:background var(--t-med),color var(--t-med); }
::-webkit-scrollbar { width:5px; height:5px; }
::-webkit-scrollbar-track { background:var(--bg-surface); }
::-webkit-scrollbar-thumb { background:var(--bg-active); border-radius:3px; }
input[type="range"] { -webkit-appearance:none; height:3px; background:var(--bg-active);
  border-radius:2px; outline:none; cursor:pointer; flex:1; }
input[type="range"]::-webkit-slider-thumb { -webkit-appearance:none; width:14px; height:14px;
  border-radius:50%; background:var(--accent); box-shadow:0 0 0 3px var(--accent-glow);
  cursor:pointer; transition:transform var(--t-fast); }
input[type="range"]::-webkit-slider-thumb:hover { transform:scale(1.2); }
button { cursor:pointer; font-family:var(--font-ui); }
a { color:var(--accent); text-decoration:none; }
