/* ─────────────────────────────────────────────────────────────────────────────
   chrome.css — Phosphor & Blueprint chrome overrides
   Applies to: activity bar, status bar, tab bar, sidebar frame, modals,
               command palette, auth/boot screen.
   All rules scoped to data-theme so the legacy theme is unaffected.
───────────────────────────────────────────────────────────────────────────── */

/* ── Defaults: hide phosphor status segments unless in phosphor theme ── */
.sb-ph { display: none !important; }
.sb-legacy { display: inline-flex; align-items: center; }

/* ══════════════════════════════════════════════════════════════════════════════
   SHARED — applies to both phosphor + blueprint
══════════════════════════════════════════════════════════════════════════════ */

[data-theme="phosphor"],
[data-theme="blueprint"] {
  /* Kill all radii */
  --radius: 0px;
}

[data-theme="phosphor"] *,
[data-theme="blueprint"] * {
  border-radius: 0 !important;
}

/* ══════════════════════════════════════════════════════════════════════════════
   PHOSPHOR DARK — matrix green
══════════════════════════════════════════════════════════════════════════════ */

/* ── App shell ── */
[data-theme="phosphor"] #app {
  --ab-w: 54px;
  background: var(--bg-base);
  font-family: var(--font);
}

/* ── Activity bar ── */
[data-theme="phosphor"] #activity-bar {
  width: var(--ab-w);
  background: var(--ab-bg);
  border-right: 1px solid var(--bdr);
  padding: 6px 0;
}

[data-theme="phosphor"] .ab-btn {
  width: 54px;
  height: 44px;
  border-radius: 0 !important;
  font-family: var(--mono);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--txt-m);
  position: relative;
  transition: color 0.12s, background 0.12s;
  flex-direction: column;
  gap: 0;
}

[data-theme="phosphor"] .ab-btn:hover {
  color: var(--txt);
  background: var(--bg-hov);
}

[data-theme="phosphor"] .ab-btn.on {
  color: var(--brand);
  background: transparent;
}

/* Left gutter bar replaces the rounded indicator */
[data-theme="phosphor"] .ab-btn.on::before {
  content: '';
  position: absolute;
  left: 0;
  top: 20%;
  height: 60%;
  width: 2px;
  background: var(--brand);
  box-shadow: 0 0 6px var(--brand);
  border-radius: 0 !important;
}

/* Hide icon glyphs, show ASCII labels in phosphor */
[data-theme="phosphor"] .ab-icon { display: none; }
[data-theme="phosphor"] .ab-label {
  display: block;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  font-family: var(--mono);
}

[data-theme="phosphor"] .ab-btn.on .ab-label {
  text-shadow: var(--effect-bloom);
}

/* Platform button top stripe */
[data-theme="phosphor"] .ab-btn.ab-plt {
  color: var(--own);
}
[data-theme="phosphor"] .ab-btn.ab-plt.on {
  color: var(--own);
}
[data-theme="phosphor"] .ab-btn.ab-plt.on::before {
  background: var(--own);
  box-shadow: 0 0 6px var(--own);
}

/* Tooltip in tmux style */
[data-theme="phosphor"] .ab-btn[title]:hover::after {
  content: '[' attr(title) ']';
  left: 52px;
  background: var(--bg-ov);
  border: 1px solid var(--bdr-a);
  color: var(--txt);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  border-radius: 0 !important;
  padding: 3px 8px;
  box-shadow: 0 0 12px rgba(0,0,0,0.5);
}

/* ── Status bar — tmux powerline ── */
[data-theme="phosphor"] #status-bar {
  background: var(--sb-bg);
  border-top: 1px solid var(--bdr);
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.03em;
  padding: 0 8px;
  gap: 0;
  color: var(--txt-m);
}

/* Hide legacy segments */
[data-theme="phosphor"] .sb-legacy { display: none; }

/* Show phosphor segments */
[data-theme="phosphor"] .sb-ph { display: flex; align-items: center; }

[data-theme="phosphor"] .sb-seg {
  padding: 0 8px;
  color: var(--txt-s);
  white-space: nowrap;
  font-family: var(--mono);
}

[data-theme="phosphor"] .sb-div {
  color: var(--txt-ghost);
  padding: 0 2px;
  font-size: 11px;
}

[data-theme="phosphor"] #sbp-host {
  color: var(--brand);
  text-shadow: var(--effect-bloom);
  font-weight: 700;
}

[data-theme="phosphor"] #sbp-snap {
  color: var(--p-cyan);
  font-family: var(--mono);
  font-size: 10px;
}

[data-theme="phosphor"] #sbp-llm {
  color: var(--txt-m);
}

[data-theme="phosphor"] #sbp-user {
  color: var(--own);
}

[data-theme="phosphor"] #sbp-time {
  color: var(--txt-s);
  font-variant-numeric: tabular-nums;
}

[data-theme="phosphor"] .sb-mode {
  color: var(--brand);
  font-weight: 700;
  font-size: 10px;
  letter-spacing: 0.06em;
  text-shadow: var(--effect-bloom);
  min-width: 88px;
  text-align: center;
}

/* Theme toggle control */
[data-theme="phosphor"] #sb-theme-toggle {
  display: flex;
  align-items: center;
  gap: 0;
  padding: 0 4px;
}

[data-theme="phosphor"] .theme-btn {
  padding: 2px 7px;
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  color: var(--txt-m);
  cursor: pointer;
  border: 1px solid var(--bdr);
  background: none;
  transition: color 0.1s, border-color 0.1s, background 0.1s;
}

[data-theme="phosphor"] .theme-btn:hover {
  color: var(--txt);
  border-color: var(--bdr-a);
}

[data-theme="phosphor"] .theme-btn.active {
  color: var(--brand);
  border-color: var(--brand);
  background: var(--brand-d);
  text-shadow: var(--effect-bloom);
}

/* ── Tab bar ── */
[data-theme="phosphor"] #tab-bar {
  background: var(--bg-surface);
  border-bottom: 1px solid var(--bdr);
  font-family: var(--mono);
  font-size: 11px;
  padding: 0 8px;
  gap: 0;
}

[data-theme="phosphor"] .tab {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.03em;
  color: var(--txt-m);
  border-bottom: 1px solid transparent;
  padding: 0 14px;
  height: 35px;
  /* Terminal-style tab borders */
  border-right: 1px solid var(--bdr);
}

[data-theme="phosphor"] .tab:first-child {
  border-left: 1px solid var(--bdr);
}

[data-theme="phosphor"] .tab:hover {
  color: var(--txt-s);
  background: var(--bg-hov);
}

[data-theme="phosphor"] .tab.on {
  color: var(--brand);
  border-bottom-color: var(--brand);
  background: var(--bg-base);
  text-shadow: var(--effect-bloom);
}

/* Search + prog switcher buttons in tab bar */
[data-theme="phosphor"] #tab-bar .btn {
  font-family: var(--mono);
  font-size: 10px;
  border-color: var(--bdr);
  color: var(--txt-m);
}

[data-theme="phosphor"] #tab-bar .btn:hover {
  color: var(--brand);
  border-color: var(--brand);
}

/* ── Sidebar ── */
[data-theme="phosphor"] #sidebar {
  background: var(--bg-surface);
  border-right: 1px solid var(--bdr);
}

[data-theme="phosphor"] .sb-head {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.12em;
  color: var(--txt-m);
  text-transform: uppercase;
  padding: 8px 10px 6px;
  border-bottom: 1px solid var(--bdr);
}

[data-theme="phosphor"] .sb-head::before {
  content: '── ';
  color: var(--txt-ghost);
}

[data-theme="phosphor"] input,
[data-theme="phosphor"] textarea,
[data-theme="phosphor"] select {
  font-family: var(--mono);
  font-size: 11px;
  background: var(--bg-el);
  border-color: var(--bdr);
  color: var(--txt);
}

[data-theme="phosphor"] input:focus,
[data-theme="phosphor"] textarea:focus,
[data-theme="phosphor"] select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 1px var(--brand), var(--effect-bloom);
  outline: none;
}

/* ── Buttons ── */
[data-theme="phosphor"] .btn {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
  border-color: var(--bdr);
  background: var(--bg-el);
  color: var(--txt-s);
  padding: 4px 10px;
}

[data-theme="phosphor"] .btn:hover {
  border-color: var(--brand);
  color: var(--brand);
}

[data-theme="phosphor"] .btn-p {
  background: transparent;
  border-color: var(--brand);
  color: var(--brand) !important;
  text-shadow: var(--effect-bloom);
}

[data-theme="phosphor"] .btn-p:hover {
  background: var(--brand-d);
}

/* ── Badges ── */
[data-theme="phosphor"] .bdg {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.05em;
  border-radius: 0 !important;
  padding: 1px 5px;
}

/* Severity glyphs — override color-only badges with glyph prefix */
[data-theme="phosphor"] .b-crit::before { content: '● '; }
[data-theme="phosphor"] .b-warn::before { content: '◉ '; }
[data-theme="phosphor"] .b-info::before { content: '○ '; }

/* ── Modals ── */
[data-theme="phosphor"] .auth-c,
[data-theme="phosphor"] .prog-c,
[data-theme="phosphor"] #cu-modal > div,
[data-theme="phosphor"] #cl-modal > div,
[data-theme="phosphor"] #pf-modal > div {
  background: var(--bg-surface);
  border: 1px solid var(--bdr-a);
  box-shadow: 0 0 40px rgba(0,0,0,0.8), 0 0 1px var(--brand);
}

[data-theme="phosphor"] #auth-ov {
  background: var(--bg-void);
}

[data-theme="phosphor"] .auth-logo {
  font-family: var(--mono);
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: var(--txt);
}

[data-theme="phosphor"] .auth-logo span {
  color: var(--brand);
  text-shadow: var(--effect-bloom);
}

[data-theme="phosphor"] .auth-tag {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--txt-m);
  text-transform: uppercase;
}

/* ── Command palette (phosphor fullscreen — see palette.js) ── */
[data-theme="phosphor"] #pal {
  /* Override legacy float — replaced by #ph-palette fullscreen overlay */
  display: none !important;
}

/* Fullscreen palette overlay — created by palette.js */
[data-theme="phosphor"] #ph-palette {
  position: fixed;
  inset: 0;
  background: rgba(5,7,10,0.97);
  z-index: 2000;
  display: none;
  flex-direction: column;
  align-items: center;
  padding-top: 120px;
}

[data-theme="phosphor"] #ph-palette.on {
  display: flex;
}

[data-theme="phosphor"] #ph-pal-wrap {
  width: 800px;
  max-width: 94vw;
  border: 1px solid var(--bdr-a);
  background: var(--bg-ov);
  box-shadow: 0 0 60px rgba(0,0,0,0.8), 0 0 2px var(--brand);
}

[data-theme="phosphor"] #ph-pal-prompt {
  display: flex;
  align-items: center;
  padding: 10px 16px;
  border-bottom: 1px solid var(--bdr);
  gap: 8px;
}

[data-theme="phosphor"] #ph-pal-ps {
  font-family: var(--mono);
  font-size: 13px;
  color: var(--brand);
  text-shadow: var(--effect-bloom);
  white-space: nowrap;
}

[data-theme="phosphor"] #ph-pal-in {
  flex: 1;
  background: none;
  border: none;
  font-family: var(--mono);
  font-size: 13px;
  color: var(--txt);
  padding: 0;
  caret-color: var(--brand);
}

[data-theme="phosphor"] #ph-pal-in:focus {
  box-shadow: none;
  border: none;
  outline: none;
}

[data-theme="phosphor"] #ph-pal-cursor {
  display: inline-block;
  width: 8px;
  height: 14px;
  background: var(--brand);
  box-shadow: var(--effect-bloom);
  animation: blink-cursor 1.06s step-end infinite;
  vertical-align: middle;
}

[data-theme="phosphor"] #ph-pal-res {
  max-height: 400px;
  overflow-y: auto;
}

[data-theme="phosphor"] .ph-pi {
  display: flex;
  align-items: center;
  padding: 7px 16px;
  gap: 12px;
  cursor: pointer;
  font-family: var(--mono);
  font-size: 11px;
  border-bottom: 1px solid var(--bdr);
}

[data-theme="phosphor"] .ph-pi:hover,
[data-theme="phosphor"] .ph-pi.hi {
  background: var(--bg-sel);
}

[data-theme="phosphor"] .ph-pi-cmd {
  color: var(--brand);
  width: 14ch;
  flex-shrink: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

[data-theme="phosphor"] .ph-pi-cmd .ph-match {
  color: var(--brand);
  text-shadow: var(--effect-bloom);
  font-weight: 700;
}

[data-theme="phosphor"] .ph-pi-kb {
  margin-left: auto;
  color: var(--txt-m);
  font-size: 10px;
  white-space: nowrap;
}

[data-theme="phosphor"] .ph-pi-desc {
  color: var(--txt-m);
  font-size: 10px;
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-theme="phosphor"] #ph-pal-ft {
  padding: 5px 16px;
  border-top: 1px solid var(--bdr);
  display: flex;
  gap: 16px;
  font-family: var(--mono);
  font-size: 10px;
  color: var(--txt-m);
}

[data-theme="phosphor"] #ph-pal-ft .kd {
  background: var(--bg-el);
  border: 1px solid var(--bdr-a);
  color: var(--txt-s);
  font-family: var(--mono);
}

/* ── Bottom panel ── */
[data-theme="phosphor"] #bp {
  background: var(--bg-surface);
  border-top: 1px solid var(--bdr);
}

[data-theme="phosphor"] .bp-tab {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.04em;
}

[data-theme="phosphor"] .bp-tab.on {
  color: var(--brand);
  border-bottom-color: var(--brand);
}

/* ── Section cards ── */
[data-theme="phosphor"] .sc {
  background: var(--bg-surface);
  border: 1px solid var(--bdr);
}

[data-theme="phosphor"] .sc:hover {
  border-color: var(--brand);
  box-shadow: 0 0 8px rgba(95,255,159,0.08);
}

[data-theme="phosphor"] .sc-v {
  font-family: var(--mono);
  font-size: 24px;
  color: var(--brand);
  text-shadow: var(--effect-bloom);
}

[data-theme="phosphor"] .sc-l {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--txt-m);
}

/* ── Tables ── */
[data-theme="phosphor"] .dt {
  font-family: var(--mono);
  font-size: 11px;
}

[data-theme="phosphor"] .dt th {
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--txt-m);
  background: var(--bg-surface);
}

[data-theme="phosphor"] .dt th:hover,
[data-theme="phosphor"] .dt th.srt {
  color: var(--brand);
}

[data-theme="phosphor"] .dt tr:hover {
  background: var(--bg-hov);
}

[data-theme="phosphor"] .dt tr.sel {
  background: var(--bg-sel);
  border-left: 2px solid var(--brand);
}

/* ── Pill / mono tag ── */
[data-theme="phosphor"] .pill {
  background: var(--brand-d);
  color: var(--brand);
  font-family: var(--mono);
  font-size: 10px;
}

/* ── Scrollbars ── */
[data-theme="phosphor"] ::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
[data-theme="phosphor"] ::-webkit-scrollbar-track {
  background: var(--bg-base);
}
[data-theme="phosphor"] ::-webkit-scrollbar-thumb {
  background: var(--bdr-a);
}
[data-theme="phosphor"] ::-webkit-scrollbar-thumb:hover {
  background: var(--brand);
}

/* ── kd (keyboard hint chip) ── */
[data-theme="phosphor"] .kd {
  background: var(--bg-el);
  border: 1px solid var(--bdr-a);
  color: var(--txt-s);
  font-family: var(--mono);
  font-size: 9px;
  letter-spacing: 0.04em;
}


/* ══════════════════════════════════════════════════════════════════════════════
   BLUEPRINT LIGHT — ink on engineering paper
══════════════════════════════════════════════════════════════════════════════ */

[data-theme="blueprint"] #app {
  background: var(--bg-base);
  font-family: var(--font);
}

/* Show legacy segments, hide phosphor segments */
[data-theme="blueprint"] .sb-ph { display: none; }
[data-theme="blueprint"] .sb-legacy { display: flex; align-items: center; }
[data-theme="blueprint"] .sb-legacy span { display: inline; }

[data-theme="blueprint"] #status-bar {
  background: var(--sb-bg);
  border-top: 1px solid var(--bdr);
  font-family: var(--font);
  font-size: 11px;
}

/* Show icons, hide ASCII labels in blueprint */
[data-theme="blueprint"] .ab-icon { display: inline; }
[data-theme="blueprint"] .ab-label { display: none; }

/* Blueprint: slightly larger, inky borders */
[data-theme="blueprint"] #activity-bar {
  background: var(--ab-bg);
  border-right: 1px solid var(--bdr);
}

[data-theme="blueprint"] .ab-btn.on {
  color: var(--brand);
}

[data-theme="blueprint"] .ab-btn.on::before {
  background: var(--brand);
}

[data-theme="blueprint"] input:focus,
[data-theme="blueprint"] textarea:focus,
[data-theme="blueprint"] select:focus {
  border-color: var(--brand);
  box-shadow: 0 0 0 2px var(--foc);
}

[data-theme="blueprint"] .tab.on {
  color: var(--brand);
  border-bottom-color: var(--brand);
}

/* Blueprint subtle paper grid background */
[data-theme="blueprint"] body::before {
  content: '';
  position: fixed;
  inset: 0;
  background-image:
    linear-gradient(rgba(14,78,138,0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(14,78,138,0.05) 1px, transparent 1px);
  background-size: 20px 20px;
  pointer-events: none;
  z-index: 0;
}

[data-theme="blueprint"] #app {
  position: relative;
  z-index: 1;
}
