/* Top bar: wordmark, progress, theme toggle, Python status. */

#header {
  height: 60px; flex-shrink: 0; z-index: 30;
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 24px;
  background: var(--bg);
  border-bottom: 2px solid var(--ink);
}

/* Wordmark: an ink "el" stamp + the name set in Fraunces */
.logo-wrap { display: flex; align-items: center; gap: 12px; }
.logo-icon {
  width: 34px; height: 34px; border-radius: 4px;
  display: flex; align-items: center; justify-content: center;
  font-family: var(--font-mono); font-size: 15px; font-weight: 600; letter-spacing: -0.04em;
  color: var(--on-ink); background: var(--ink);
  box-shadow: 3px 3px 0 var(--warm);
  transition: transform .15s;
}
.logo-wrap:hover .logo-icon { transform: rotate(-4deg); }
.logo-name {
  font-family: var(--font-display); font-size: 21px; font-weight: 600; letter-spacing: -0.02em;
  color: var(--text); line-height: 1.05;
}
.logo-sub { font-family: var(--font-mono); font-size: 10.5px; color: var(--faint); letter-spacing: .02em; }

.header-right { display: flex; align-items: center; gap: 22px; }

/* Progress: a ruler-like track */
.prog-wrap { display: flex; flex-direction: column; gap: 5px; }
.prog-label {
  display: flex; justify-content: space-between; gap: 18px;
  font-family: var(--font-mono); font-size: 10.5px; color: var(--faint);
}
.prog-val { font-weight: 600; color: var(--text); }
.prog-track {
  width: 140px; height: 8px;
  background: var(--surface); border: 1.5px solid var(--ink); border-radius: 2px; overflow: hidden;
}
.prog-fill {
  height: 100%; width: 0%;
  background: repeating-linear-gradient(-45deg, var(--done) 0 6px, color-mix(in srgb, var(--done) 80%, white) 6px 12px);
  transition: width .6s cubic-bezier(.3, 0, .2, 1);
}

.icon-btn {
  width: 34px; height: 34px; border-radius: var(--radius);
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--text);
  border: 2px solid var(--ink); background: var(--surface);
  transition: transform .12s, box-shadow .12s;
}
.icon-btn:hover { transform: translate(-1px, -1px); box-shadow: var(--shadow); }

/* Python runtime status: a printed stamp */
#py-status {
  display: flex; align-items: center; gap: 7px;
  padding: 5px 11px; border-radius: 4px;
  font-family: var(--font-mono); font-size: 11px; font-weight: 500;
  color: var(--accent); border: 1.5px dashed currentColor;
}
#py-status.ready { color: var(--done); border-style: solid; }
#py-status.error { color: var(--danger); }
