/* Glass design tokens. The window carries the translucent backdrop
 * (alpha overridden at runtime from config.appearance.opacity);
 * terminals are fully transparent panes over it with hairline borders.
 * On compositors that blur behind windows this upgrades to real
 * frosted glass for free. */

window.stashee {
  background-color: rgba(16, 18, 26, 0.88);
}

window.stashee headerbar {
  background: transparent;
  box-shadow: none;
}

window.stashee .sidebar-panel {
  background-color: rgba(255, 255, 255, 0.03);
  border-right: 1px solid rgba(255, 255, 255, 0.06);
}

window.stashee .sidebar-panel list {
  background: transparent;
}

.pane {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 12px;
  padding: 6px;
  background-color: rgba(255, 255, 255, 0.03);
}

.pane:focus-within {
  border-color: rgba(120, 170, 255, 0.4);
}

/* Hover-revealed drag handle: an OSD chip overlaid on the pane's
 * top-right corner (top-left is where the prompt lives). Zero layout
 * impact — it floats above the terminal and only shows while the
 * pointer is over the pane (.pane-hover, toggled in pane.rs). */
.drag-handle {
  opacity: 0;
  transition: opacity 150ms ease-out;
  background-color: rgba(16, 18, 26, 0.75);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 8px;
  padding: 3px 10px;
  color: rgba(255, 255, 255, 0.65);
}

.pane-hover .drag-handle {
  opacity: 1;
}

.drag-handle:hover {
  background-color: rgba(40, 46, 62, 0.9);
  color: rgba(255, 255, 255, 0.9);
}

/* Voice recording pill (voice.rs): an OSD chip floating at the bottom
 * of the pane being dictated into — pulsing dot, live waveform, Esc
 * hint. Same glass family as the drag handle. */
.voice-pill {
  background-color: rgba(16, 18, 26, 0.85);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 6px 16px;
}

.voice-dot {
  background-color: #f66151;
  border-radius: 999px;
  min-width: 8px;
  min-height: 8px;
  animation: voice-pulse 1.6s ease-in-out infinite;
}

@keyframes voice-pulse {
  0% { opacity: 1; }
  50% { opacity: 0.35; }
  100% { opacity: 1; }
}

.voice-hint {
  color: rgba(255, 255, 255, 0.55);
  font-size: 0.85em;
}

/* Opaque token set for the system high-contrast (reduce-transparency)
 * setting; the window backdrop itself goes opaque via the runtime
 * provider in window.rs. */

window.stashee.reduced-transparency .sidebar-panel {
  background-color: rgb(30, 32, 40);
}

window.stashee.reduced-transparency .pane {
  background-color: rgb(24, 26, 34);
  border-color: rgba(255, 255, 255, 0.25);
}

window.stashee.reduced-transparency .drag-handle {
  background-color: rgb(30, 32, 40);
  color: rgb(255, 255, 255);
}

window.stashee.reduced-transparency .voice-pill {
  background-color: rgb(30, 32, 40);
  border-color: rgba(255, 255, 255, 0.25);
}

window.stashee.reduced-transparency .voice-hint {
  color: rgb(255, 255, 255);
}
