/* ============================================================
   HANDSHAKE — Surfaces system
   One brand, two surfaces:
     .surface-admin  → Console: light lander palette, green + purple accents
     .surface-user   → Studio:  light, calm, friendly
   Shared DNA: Aquamarine signal, Inter, pill geometry, chips.

   Load Inter / Roboto Mono via <link> in page heads (not @import) —
   stalled Google Fonts @imports can block the rest of this stylesheet
   on iOS Safari / iPad.
   ============================================================ */

:root {
  /* ---- Brand primitives (shared, never change per surface) ---- */
  --hs-aqua:        #43E5A4;
  --hs-aqua-bright: #5CF0B5;
  --hs-aqua-deep:   #27AE60;
  --hs-everglade:   #1D4032;
  --hs-everglade-900: #0E1B11;
  --hs-jasmine:     #A347EA;
  --hs-indigo:      #502373;
  --hs-neutral-500: #757575;
  --hs-neutral-600: #525252;

  --hs-red:    #F2706E;
  --hs-amber:  #F2B544;
  --hs-blue:   #6FA8F0;

  /* Voice shell (dark everglade panels — shared across widgets) */
  --voice-shell-bg:          #0E1B11;
  --voice-shell-bg-elevated: #122920;
  --voice-shell-border:      #1C2C24;
  --voice-shell-text:        #F9FAF2;
  --voice-shell-muted:       #9FB3A9;

  /* ---- Type ---- */
  --font: 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: 'Roboto Mono', ui-monospace, SFMono-Regular, monospace;

  /* ---- Radii ---- */
  --r-xs: 6px;
  --r-sm: 8px;
  --r-md: 12px;
  --r-lg: 16px;
  --r-xl: 20px;
  --r-2xl: 28px;
  --r-pill: 999px;

  /* ---- Spacing (4pt) ---- */
  --sp-1: 4px;
  --sp-2: 8px;
  --sp-3: 12px;
  --sp-4: 16px;
  --sp-5: 20px;
  --sp-6: 24px;
  --sp-8: 32px;
  --sp-10: 40px;
  --sp-12: 48px;
  --sp-16: 64px;
}

/* ===========================================================
   SURFACE: ADMIN — Console (lander light + green/purple)
   =========================================================== */
.surface-admin {
  --canvas:    #F7F8F4;
  --panel:     #FFFFFF;
  --panel-2:   #FCFBFA;
  --panel-3:   #F0FFF3;
  --hair:      #E5E8E2;
  --hair-2:    #D5DBD4;

  --ink:       #1D4032;
  --ink-2:     #3D4A55;
  --ink-3:     #6B7280;

  --accent:    var(--hs-aqua);
  --accent-2:  var(--hs-everglade);
  --accent-ink:#0E1B11;
  --accent-tint: rgba(67, 229, 164, 0.16);
  --accent-tint-2: rgba(67, 229, 164, 0.28);

  --purple:    var(--hs-jasmine);
  --purple-2:  var(--hs-indigo);
  --purple-tint: #F6ECFD;
  --purple-tint-2: #DFBFF7;

  --pass:      var(--hs-aqua-deep);
  --pass-tint: #E2F6EC;
  --fail:      #D9534F;
  --fail-tint: #FBE9E8;

  --shadow:    0 1px 2px rgba(29, 64, 50, 0.04), 0 14px 36px rgba(80, 35, 115, 0.06);
  --shadow-sm: 0 1px 3px rgba(29, 64, 50, 0.06);

  background:
    radial-gradient(100% 80% at 0% 0%, rgba(67, 229, 164, 0.14), transparent 55%),
    radial-gradient(90% 70% at 100% 0%, rgba(163, 71, 234, 0.10), transparent 50%),
    var(--canvas);
  color: var(--ink);
  font-family: var(--font);
}

/* ===========================================================
   SURFACE: USER — Studio
   =========================================================== */
.surface-user {
  --canvas:    #F1F4F0;
  --panel:     #FFFFFF;
  --panel-2:   #F6F8F5;
  --panel-3:   #EEF2EC;
  --hair:      #E6EAE3;
  --hair-2:    #D7DDD3;

  --ink:       #17241C;
  --ink-2:     #5C675F;
  --ink-3:     #6C7E73;

  --accent:    var(--hs-aqua);
  --accent-2:  var(--hs-aqua-deep);
  --accent-ink:#0C2418;
  --accent-tint: #E6FBF1;
  --accent-tint-2:#D2F6E4;

  --pass:      #1E9E63;
  --pass-tint: #E2F6EC;
  --fail:      #D9534F;
  --fail-tint: #FBE9E8;

  --shadow:    0 1px 2px rgba(16,24,40,0.04), 0 18px 44px rgba(8,40,24,0.07);
  --shadow-sm: 0 1px 3px rgba(16,24,40,0.06);

  background: var(--canvas);
  color: var(--ink);
  font-family: var(--font);
}

/* ---- Shared utilities ---- */
.tnum {
  font-variant-numeric: tabular-nums;
  font-feature-settings: "tnum" 1;
}

/* ---- Chips (text-only pills; optional status dot via --dot) ---- */
.hs-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 24px;
  padding: 0 11px;
  border-radius: var(--r-pill);
  font-family: var(--font);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
}

.hs-chip--pass {
  background: var(--pass-tint);
  color: var(--pass);
}

.hs-chip--fail {
  background: var(--fail-tint);
  color: var(--fail);
}

.hs-chip--neutral {
  background: var(--panel-2);
  color: var(--ink-2);
  border: 1px solid var(--hair);
}

.hs-chip--accent {
  background: var(--accent-tint);
  color: var(--accent-2);
}

/* Optional status dot */
.hs-chip--dot::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}

/* Legacy alias — dots are off by default */
.hs-chip--no-dot::before {
  display: none;
}
