/* ============================================
   geist.css — Cipher Linux Design Tokens
   Inspired by Vercel Geist Design System
   ============================================ */

:root {
  /* ── Palette ── */
  --cipher-bg:          #0a0a0f;
  --cipher-surface:     #111118;
  --cipher-surface-2:   #1a1a24;
  --cipher-surface-3:   #22222f;
  --cipher-border:      rgba(124, 106, 247, 0.18);
  --cipher-border-2:    rgba(255,255,255,0.07);

  --cipher-purple:      #7c6af7;
  --cipher-purple-light:#a78bfa;
  --cipher-purple-glow: rgba(124, 106, 247, 0.35);
  --cipher-violet:      #c4b5fd;
  --cipher-accent:      #06d6a0;
  --cipher-red:         #ff4d6d;
  --cipher-yellow:      #ffd166;
  --cipher-blue:        #4cc9f0;

  --cipher-text:        #e8e6f0;
  --cipher-text-2:      #a09ab8;
  --cipher-text-3:      #6b6480;

  /* ── Typography ── */
  --font-sans:    'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    'JetBrains Mono', 'Fira Code', monospace;

  --text-xs:   11px;
  --text-sm:   12px;
  --text-base: 13px;
  --text-md:   14px;
  --text-lg:   16px;
  --text-xl:   20px;
  --text-2xl:  28px;

  /* ── Spacing ── */
  --space-1:  4px;
  --space-2:  8px;
  --space-3:  12px;
  --space-4:  16px;
  --space-5:  20px;
  --space-6:  24px;

  /* ── Radius ── */
  --radius-sm:  6px;
  --radius-md:  10px;
  --radius-lg:  14px;
  --radius-xl:  20px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-window: 0 24px 64px rgba(0,0,0,0.7), 0 0 0 1px var(--cipher-border);
  --shadow-sm:     0 2px 8px rgba(0,0,0,0.4);
  --shadow-glow:   0 0 20px var(--cipher-purple-glow);

  /* ── Transitions ── */
  --ease-out:  cubic-bezier(0.16, 1, 0.3, 1);
  --ease-snap: cubic-bezier(0.34, 1.56, 0.64, 1);
  --dur-fast:  120ms;
  --dur-med:   220ms;
  --dur-slow:  380ms;

  /* ── Z-index ── */
  --z-desktop:   1;
  --z-window:    10;
  --z-taskbar:   100;
  --z-launcher:  200;
  --z-notify:    300;
  --z-cursor:    9999;
}

*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html, body {
  width: 100%;
  height: 100%;
  overflow: hidden;
  background: var(--cipher-bg);
  color: var(--cipher-text);
  font-family: var(--font-sans);
  font-size: var(--text-base);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

/* ── Scrollbar ── */
::-webkit-scrollbar { width: 4px; height: 4px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--cipher-surface-3); border-radius: var(--radius-full); }

/* ── Selection ── */
::selection { background: var(--cipher-purple-glow); color: var(--cipher-violet); }

/* ── Utility ── */
.hidden { display: none !important; }
.mono { font-family: var(--font-mono); }

/* ── Glass surface ── */
.glass {
  background: rgba(17, 17, 24, 0.82);
  backdrop-filter: blur(24px) saturate(1.4);
  -webkit-backdrop-filter: blur(24px) saturate(1.4);
  border: 1px solid var(--cipher-border);
}
