/* =========================================================
   WRITING TRACKER — THEME OVERRIDES
   Imports all fixes from project-shared.css, then applies
   the blue gradient palette unique to this page.
   ========================================================= */

/* Override colour variables for the blue theme */
:root {
  --navy:       #2D3142;
  --navy-hover: #3a3f54;
  --navy-dark:  #1b1f2e;
  --accent:     #4a90d9;
  --accent-lt:  #7ec8f0;
  --success:    #2da44e;
  --muted:      #5e6b7b;
  --card-bg:    #ffffff;
  --subtle-bg:  #F5F5F5;
}

/* Body background — plain gradient instead of photo */
body {
  background-image: none;
  background: linear-gradient(135deg, #f5f7fa 0%, #e4edf5 100%);
  background-attachment: fixed;
}

/* Header — unified navy */
header {
  background-color: var(--navy);
}

/* Sections — white card look */
section {
  background-color: rgba(255,255,255,.95);
  box-shadow: 0 5px 20px rgba(0,0,0,.08);
}

/* TOC headers — unified navy */
.toc-header {
  background-color: var(--navy);
}
.toc-header:hover {
  background-color: var(--navy-hover);
}

/* Skill boxes — blue accent border */
.skill-box {
  background: white;
  border-top: 4px solid #4a6fa5;
}
.skill-box i { color: #4a6fa5; }

/* Contact icons */
.contact-icons a { color: var(--navy); }
.contact-icons a:hover { color: var(--accent); }

/* Footer */
footer { background-color: var(--navy); }

/* Contact section */
.contact-section { background-color: rgba(255,255,255,.95); }

/* =========================================================
   KPI / DETAILS FORK STYLES
   (Writing Tracker uses <details> + .kpi)
   ========================================================= */
.kpi {
  border: 1px solid rgba(44,62,80,.08);
  border-radius: 8px;
  background: #ffffff;
  margin-bottom: 12px;
  overflow: visible;
}
.kpi > summary.kpi-summary {
  list-style: none;
  display: flex; align-items: center; justify-content: space-between;
  gap: 12px; padding: 12px 16px;
  background-color: var(--navy);
  color: #fff; border-radius: 6px;
  cursor: pointer; font-weight: 600; user-select: none;
}
.kpi > summary.kpi-summary::-webkit-details-marker { display: none; }
.kpi > summary.kpi-summary .arrow-sm {
  transform: rotate(0deg); transition: transform .25s ease; font-weight: 700;
}
.kpi[open] > summary.kpi-summary .arrow-sm { transform: rotate(90deg); }
.kpi .kpi-body {
  padding: 18px 20px; background: #f4f7fb;
  border-top: 1px solid rgba(44,62,80,.04);
  color: #3f4954; line-height: 1.6;
}
.kpi .kpi-body h4 {
  margin: 8px 0 12px; color: var(--navy); font-weight: 700;
  font-size: 1.06rem; padding-left: 8px; position: relative;
}
.kpi .kpi-body h4::before {
  content: ""; width: 6px; height: 24px;
  background: var(--accent);
  border-radius: 3px; display: inline-block;
  margin-right: 10px; vertical-align: middle; transform: translateY(-2px);
}
.kpi .kpi-body h5 {
  font-size: .98rem; color: var(--accent); font-weight: 600;
  margin: 6px 0 10px; padding-left: 16px;
}
.kpi .kpi-body ol, .kpi .kpi-body ul {
  padding-left: 1.9rem; margin-bottom: 12px; color: #3f4954;
}
.kpi .kpi-body ol li { margin-bottom: 8px; }
.kpi .kpi-body p, .kpi .kpi-body li { color: #2f3a43; font-size: .98rem; }
.kpi .kpi-divider { height: 1px; background: rgba(44,62,80,.06); margin: 12px 0; border-radius: 2px; }
.kpi .kpi-note { display: block; color: #5b6773; font-size: .92rem; margin-bottom: 10px; }
.kpi .kpi-subtitle { display: inline-block; font-weight: 700; color: #2c3e50; margin-bottom: 8px; }

@media (max-width: 700px) {
  .kpi .kpi-body { padding: 14px; }
  .kpi .kpi-body h4 { font-size: 1rem; }
  .kpi .kpi-body h5 { font-size: .95rem; }
}
