/* ===== Reset & design tokens ===== */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display",
          "Helvetica Neue", "Inter", system-ui, sans-serif;
  --font-mono: "SF Mono", ui-monospace, "Menlo", "Cascadia Code", monospace;

  /* accent (dynamic) */
  --accent: #0a84ff;
  --accent-rgb: 10, 132, 255;

  /* menu bar height + dock metrics */
  --menubar-h: 30px;
  --dock-icon: 56px;

  /* glass tuning (light) */
  --glass-tint: 255, 255, 255;
  --glass-tint-a: 0.5;
  --glass-blur: 26px;
  --glass-sat: 180%;
  --glass-text: #1c1c1e;
  --glass-text-dim: rgba(60, 60, 67, 0.6);
  --glass-stroke: rgba(255, 255, 255, 0.55);
  --glass-stroke-dark: rgba(0, 0, 0, 0.08);

  --win-bg: rgba(246, 246, 248, 0.72);
  --win-sidebar: rgba(236, 236, 240, 0.5);
  --win-text: #1c1c1e;
  --win-text-dim: #86868b;
  --hairline: rgba(0, 0, 0, 0.1);
  --control-bg: rgba(0, 0, 0, 0.05);
  --shadow-win: 0 30px 90px rgba(0,0,0,.34), 0 6px 22px rgba(0,0,0,.22);

  --ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
}

:root[data-theme="dark"] {
  --glass-tint: 40, 40, 44;
  --glass-tint-a: 0.55;
  --glass-text: #f5f5f7;
  --glass-text-dim: rgba(235, 235, 245, 0.6);
  --glass-stroke: rgba(255, 255, 255, 0.16);
  --glass-stroke-dark: rgba(0, 0, 0, 0.4);

  --win-bg: rgba(30, 30, 34, 0.72);
  --win-sidebar: rgba(44, 44, 48, 0.5);
  --win-text: #f5f5f7;
  --win-text-dim: #98989d;
  --hairline: rgba(255, 255, 255, 0.1);
  --control-bg: rgba(255, 255, 255, 0.08);
  --shadow-win: 0 34px 100px rgba(0,0,0,.6), 0 8px 26px rgba(0,0,0,.5);
}

html, body {
  height: 100%;
  width: 100%;
  overflow: hidden;
  font-family: var(--font);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  color: var(--win-text);
  background: #000;
  user-select: none;
  -webkit-user-select: none;
  cursor: default;
  touch-action: manipulation;
}

button { font-family: inherit; color: inherit; background: none; border: none; cursor: default; }
input, textarea { font-family: inherit; }
.svg-defs { position: absolute; pointer-events: none; }
.hidden { display: none !important; }
img { -webkit-user-drag: none; user-drag: none; }

::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-thumb { background: rgba(0,0,0,.22); border-radius: 6px; border: 3px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: rgba(0,0,0,.36); background-clip: padding-box; }
:root[data-theme="dark"] ::-webkit-scrollbar-thumb { background: rgba(255,255,255,.24); background-clip: padding-box; }
::-webkit-scrollbar-track { background: transparent; }

/* Text selection allowed inside content areas */
.selectable, .selectable * { user-select: text; -webkit-user-select: text; cursor: auto; }
