/* ═══════════════════════════════════════════════════════════════════
   HastyLabs — Pastel Brand CSS (Build 019)
   Master brand file — link in <head> before page styles.
   Source of truth: /opt/stacks/site/pastel_colors_master.css
   Updated: 2026-03-07
═══════════════════════════════════════════════════════════════════ */

/* ── Brand Tokens ───────────────────────────────────────────────── */
:root {
  /* Fonts */
  --font-sans:     'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:     'ui-monospace', 'SFMono-Regular', 'Cascadia Code', 'Segoe UI Mono', monospace;

  /* Font Weights */
  --weight-black:  800;
  --weight-bold:   700;
  --weight-medium: 500;
  --weight-reg:    400;

  /* Letter Spacing */
  --ls-hero:  -1px;
  --ls-logo:  -0.3px;
  --ls-ui:    1.2px;
  --ls-badge: 3px;

  /* Logo size */
  --logo-size: 1.6rem;

  /* ── Core Backgrounds (Pastel Dark Mode) ── */
  --hl-bg:            #1a1d24;    /* Dark charcoal blue */
  --hl-bg-secondary:  #23272f;    /* Lighter charcoal */
  --hl-bg-tertiary:   #2a2f38;    /* Card backgrounds */
  --hl-sidebar:       #1e2128;    /* Sidebar background */

  /* ── Pastel Accent Colors ── */
  --hl-mint:          #7dd3ae;    /* Bright mint green - PRIMARY */
  --hl-lavender:      #c5a3ff;    /* Bright lavender */
  --hl-peach:         #ffb088;    /* Bright peach */
  --hl-sky:           #82d4f8;    /* Bright sky blue */
  --hl-rose:          #ff9bb0;    /* Bright rose */

  /* Pastel accent variations */
  --hl-mint-dim:      rgba(125, 211, 174, 0.15);
  --hl-lavender-dim:  rgba(197, 163, 255, 0.15);
  --hl-peach-dim:     rgba(255, 176, 136, 0.15);
  --hl-sky-dim:       rgba(130, 212, 248, 0.15);
  --hl-rose-dim:      rgba(255, 155, 176, 0.15);

  /* ── Brand‑standard mint‑tinted borders ── */
  --hl-border:        rgba(125, 211, 174, 0.1);
  --hl-border-bright: rgba(125, 211, 174, 0.3);
  --hl-border-solid:  #3a3f48;

  /* ── Legacy Color Mappings (for compatibility) ── */
  --hl-green:         var(--hl-mint);      /* Primary accent */
  --hl-cyan:          var(--hl-sky);       /* Info/links */
  --hl-amber:         var(--hl-peach);     /* Warnings */
  --hl-red:           var(--hl-rose);      /* Errors */
  --hl-purple:        var(--hl-lavender);  /* Special */
  --hl-cyan-dim:      var(--hl-sky-dim);

  /* ── Text Colors ── */
  --hl-text:          #e8e8e8;    /* Primary text */
  --hl-white:         #ffffff;    /* Bright text */
  --hl-text-dim:      #a8a8a8;    /* Muted text */
  --hl-text-muted:    #808080;    /* Dimmed text */
  --hl-grey:          #808080;    /* Legacy grey */

  /* ── Semantic Colors ── */
  --hl-success:       var(--hl-mint);
  --hl-info:          var(--hl-sky);
  --hl-warning:       var(--hl-peach);
  --hl-danger:        var(--hl-rose);
  --hl-special:       var(--hl-lavender);

  /* ── Semantic Risk Colours ── */
  --hl-risk-low:      var(--hl-mint);
  --hl-risk-medium:   var(--hl-peach);
  --hl-risk-high:     var(--hl-rose);

  /* ── Semantic UI Colours ── */
  --hl-timeline:      var(--hl-sky);
  --hl-case-active:   var(--hl-mint);
  --hl-case-archived: #6a6a6a;
  --hl-graph-node:    var(--hl-sky);
  --hl-graph-edge:    #444444;

  /* ── Panel / Card Backgrounds ── */
  --hl-bg-panel:         #2a2f38;
  --hl-bg-panel-hover:   #323842;
  --hl-header-highlight: rgba(125, 211, 174, 0.05);
  --hl-green-muted:      rgba(125, 211, 174, 0.08);
  --hl-green-glow:       rgba(125, 211, 174, 0.15);
  --hl-green-dim:        #5ab894;

  /* ── Grid / Effects ── */
  --hl-grid-color:        rgba(125, 211, 174, 0.02);
  --hl-scanline-opacity:  0.08;

  /* ── Shadows ── */
  --hl-shadow:         rgba(0, 0, 0, 0.3);
  --hl-shadow-strong:  rgba(0, 0, 0, 0.5);
}

/* ── Google Fonts: Inter ────────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;700;800&display=swap');

/* ── Logo ───────────────────────────────────────────────────────── */
/*
  Usage:
    <a href="/" class="hl-logo">
      <span class="hl-logo__hasty">Hasty</span><span class="hl-logo__labs">Labs</span>
      <span class="hl-logo__sep"> | </span><span class="hl-logo__tool">TOOL_NAME</span>
    </a>
*/
.hl-logo {
  display:         flex !important;
  align-items:     center !important;
  text-decoration: none !important;
  border-bottom:   none !important;
  box-shadow:      none !important;
  font-family:     var(--font-sans) !important;
  font-weight:     var(--weight-black) !important;
  font-size:       var(--logo-size) !important;
  letter-spacing:  var(--ls-logo) !important;
  line-height:     1 !important;
  transition:      opacity 0.2s;
}

.hl-logo:hover {
  opacity: 0.85 !important;
  text-decoration: none !important;
  border-bottom:   none !important;
  box-shadow:      none !important;
}

/* Hasty = Mint Green */
.hl-logo__hasty {
  color:           var(--hl-mint) !important;
  font-weight:     var(--weight-black) !important;
  text-decoration: none !important;
}

/* Labs = White */
.hl-logo__labs {
  color:           var(--hl-white) !important;
  font-weight:     var(--weight-black) !important;
  text-decoration: none !important;
}

/* Separator = Muted Grey / translucent */
.hl-logo__sep {
  color:           var(--hl-text-muted) !important;
  font-weight:     300 !important;
  font-size:       1.4rem !important;
  margin:          0 12px !important;
  opacity:         0.5 !important;
  text-decoration: none !important;
}

/* Tool Name = Muted Grey, monospace, uppercase */
.hl-logo__tool {
  color:           var(--hl-text-muted) !important;
  font-family:     var(--font-mono) !important;
  font-weight:     600 !important;
  font-size:       0.85rem !important;
  letter-spacing:  2px !important;
  text-transform:  uppercase !important;
  padding-top:     2px !important;
  text-decoration: none !important;
}

/* ── Body / Global ──────────────────────────────────────────────── */
body.hl-branded {
  background:  var(--hl-bg);
  color:       var(--hl-text);
  font-family: var(--font-mono);
  margin:  0;
  padding: 0;
}

/* ── Links ──────────────────────────────────────────────────────── */
/* Content links: Cyan */
.hl-link {
  color:           var(--hl-cyan);
  text-decoration: none;
  transition:      color 0.2s;
}
.hl-link:hover { color: var(--hl-white); }

/* Navigation links: Grey/White — no blue */
.hl-nav-link {
  color:           var(--hl-text-muted);
  text-decoration: none;
  transition:      color 0.2s;
}
.hl-nav-link:hover { color: var(--hl-text); }

/* Doc links */
.hl-doc-link {
  color:           var(--hl-sky);
  font-family:     var(--font-mono);
  font-size:       0.65rem;
  text-decoration: none;
  letter-spacing:  0.5px;
  border-bottom:   1px dotted rgba(0, 212, 255, 0.4);
  white-space:     nowrap;
  transition:      all 0.2s;
  display:         inline-flex;
  align-items:     center;
  gap:             4px;
}
.hl-doc-link:hover { color: var(--hl-white); border-color: var(--hl-white); }

/* ── Priority / Badge ───────────────────────────────────────────── */
.hl-priority {
  font-family:    var(--font-mono);
  font-size:      0.65rem;
  letter-spacing: 1px;
  padding:        2px 8px;
  text-transform: uppercase;
  border:         1px solid;
  white-space:    nowrap;
  display:        inline-block;
}
.hl-priority--critical { border-color: rgba(255,68,85,0.5);   color: var(--hl-red);   background: rgba(255,68,85,0.08); }
.hl-priority--high     { border-color: rgba(255,165,0,0.5);   color: var(--hl-amber); background: rgba(255,165,0,0.08); }
.hl-priority--medium   { border-color: rgba(0,212,255,0.4);   color: var(--hl-cyan);  background: var(--hl-cyan-dim); }
.hl-priority--low      { border-color: var(--hl-border-bright); color: var(--hl-grey); }

/* ── Cards ──────────────────────────────────────────────────────── */
.hl-card {
  background:  var(--hl-bg-secondary);
  border:      1px solid var(--hl-border);
  padding:     24px;
  position:    relative;
  overflow:    hidden;
  transition:  all 0.2s ease;
}
.hl-card::before {
  content:    '';
  position:   absolute;
  top: 0; left: 0; right: 0;
  height:     2px;
  background: linear-gradient(90deg, transparent, var(--hl-green), transparent);
  opacity:    0.6;
  z-index:    1;
}
.hl-card:hover { border-color: var(--hl-border-bright); background: var(--hl-bg-tertiary); }
.hl-card:hover::before { opacity: 1; }

/* ── Hero ───────────────────────────────────────────────────────── */
.hl-hero {
  background:  var(--hl-bg-secondary);
  border:      1px solid var(--hl-border);
  padding:     2.5rem 3rem;
  margin-bottom: 2rem;
  position:    relative;
  overflow:    hidden;
  transition:  all 0.2s ease;
}
.hl-hero::before {
  content:    '';
  position:   absolute;
  top: 0; left: 0; right: 0;
  height:     2px;
  background: linear-gradient(90deg, transparent, var(--hl-green), transparent);
  opacity:    0.8;
  z-index:    1;
}
.hl-hero::after {
  content:        attr(data-label);
  position:       absolute;
  top: 1.2rem; right: 1.5rem;
  font-size:      0.65rem;
  color:          var(--hl-text-muted);
  letter-spacing: 2px;
}

/* ── Progress Bar ───────────────────────────────────────────────── */
.hl-progress {
  background:  var(--hl-bg-secondary);
  border:      1px solid var(--hl-border);
  padding:     1.5rem 2rem;
  display:     flex;
  gap:         3rem;
  align-items: center;
  flex-wrap:   wrap;
}

/* ── Terminal Block ─────────────────────────────────────────────── */
.hl-terminal {
  background:  #050505;
  border:      1px solid var(--hl-border);
  padding:     16px 20px;
  font-family: var(--font-mono);
  font-size:   0.82rem;
  color:       var(--hl-green);
  overflow-x:  auto;
  border-radius: 4px;
}
.hl-terminal .prompt { color: var(--hl-text-muted); padding-right: 8px; }

/* ── Footer ─────────────────────────────────────────────────────── */
.hl-footer {
  padding:          16px;
  border-top:       1px solid var(--hl-border);
  font-size:        0.78rem;
  color:            var(--hl-green);
  letter-spacing:   0.06em;
  display:          flex;
  justify-content:  center;
  align-items:      center;
  gap:              24px;
  flex-wrap:        wrap;
}
.hl-footer a {
  color:           var(--hl-green);
  text-decoration: none;
  opacity:         0.7;
  transition:      opacity 0.2s;
}
.hl-footer a:hover { opacity: 1; }

/* ── Scrollbar ──────────────────────────────────────────────────── */
::-webkit-scrollbar       { width: 6px; height: 6px; }
::-webkit-scrollbar-track { background: var(--hl-bg); }
::-webkit-scrollbar-thumb { background: rgba(144, 238, 144, 0.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(144, 238, 144, 0.4); }
