/* Astronomical theme swatch — based on ggprompts.com/styles/astronomical.html */

@import url('https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&family=IBM+Plex+Sans:wght@400;600&display=swap');

:root[data-theme="astronomical"] {
  --bg: #05080e;
  --surface: #0a1628;
  --surface-raised: #142244;
  --border: #1c3050;
  --text: #d4e5f7;
  --text-muted: #6b83a0;
  --accent: #2ec4b6;
  --accent-dim: #2ec4b626;
  --success: #4ea8de;
  --success-dim: #4ea8de26;
  --danger: #d64045;
  --danger-dim: #d6404526;
  --blocked: #6b3fa0;
  --radius: 2px;
  --mono: 'Space Mono', var(--mono);
  --display: 'Space Mono', monospace;
  --body: 'IBM Plex Sans', sans-serif;
}

[data-theme="astronomical"] body {
  background:
    radial-gradient(1px 1px at 20% 30%, #fff, transparent),
    radial-gradient(1px 1px at 70% 60%, #fff, transparent),
    radial-gradient(1px 1px at 45% 80%, #fff, transparent),
    radial-gradient(1px 1px at 85% 15%, #fff, transparent),
    radial-gradient(1px 1px at 10% 90%, #fff, transparent),
    var(--bg);
  background-attachment: fixed;
}

[data-theme="astronomical"] .sidebar {
  border-right: 1px solid var(--border);
  box-shadow: inset -1px 0 0 rgba(46,196,182,0.15);
}
[data-theme="astronomical"] .brand {
  font-family: var(--display);
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--accent);
}
[data-theme="astronomical"] .nav-link {
  font-family: var(--mono);
  font-size: 12px;
  letter-spacing: 0.03em;
}
[data-theme="astronomical"] .nav-link:hover,
[data-theme="astronomical"] .nav-link.active {
  color: var(--accent);
  text-shadow: 0 0 6px var(--accent-dim);
}

[data-theme="astronomical"] .page-title {
  font-family: var(--display);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-weight: 700;
}
[data-theme="astronomical"] .page-subtitle {
  font-family: var(--mono);
  font-size: 11px;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

[data-theme="astronomical"] .card,
[data-theme="astronomical"] .stat,
[data-theme="astronomical"] .day-entry-card,
[data-theme="astronomical"] .week-day-col,
[data-theme="astronomical"] dialog {
  border: 1px solid var(--border);
  background: var(--surface);
  position: relative;
}
/* Corner-bracket reticle */
[data-theme="astronomical"] .card::before,
[data-theme="astronomical"] .stat::before,
[data-theme="astronomical"] .week-day-col::before {
  content: '';
  position: absolute;
  top: 6px; left: 6px; right: 6px; bottom: 6px;
  border: 1px solid transparent;
  pointer-events: none;
  transition: border-color 0.15s ease;
}
[data-theme="astronomical"] .card:hover::before,
[data-theme="astronomical"] .stat:hover::before {
  border-image: none;
  box-shadow:
    inset 8px 8px 0 -7px var(--accent),
    inset -8px 8px 0 -7px var(--accent),
    inset 8px -8px 0 -7px var(--accent),
    inset -8px -8px 0 -7px var(--accent);
}
[data-theme="astronomical"] .stat-value {
  font-family: var(--display);
  color: var(--accent);
}

[data-theme="astronomical"] .btn {
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 11.5px;
  border-color: var(--border);
  border-radius: 0;
}
[data-theme="astronomical"] .btn:hover {
  border-color: var(--accent);
  color: var(--accent);
  box-shadow: 0 0 0 1px var(--accent);
}
[data-theme="astronomical"] .btn-primary {
  background: var(--accent);
  color: #05080e;
  border-color: var(--accent);
}
[data-theme="astronomical"] .btn-danger { color: var(--danger); }

[data-theme="astronomical"] input,
[data-theme="astronomical"] select,
[data-theme="astronomical"] textarea {
  background: #05080e;
  border-color: var(--border);
  font-family: var(--mono);
}
[data-theme="astronomical"] .btn:focus-visible,
[data-theme="astronomical"] a:focus-visible,
[data-theme="astronomical"] input:focus-visible,
[data-theme="astronomical"] select:focus-visible,
[data-theme="astronomical"] textarea:focus-visible {
  outline: none;
  border-color: var(--accent);
  box-shadow: 0 0 0 2px var(--accent-dim);
}

[data-theme="astronomical"] th {
  font-family: var(--mono);
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 10.5px;
  color: var(--accent);
}
[data-theme="astronomical"] .num { font-family: var(--mono); }

[data-theme="astronomical"] .calendar-day.is-today { border-color: var(--accent); }
[data-theme="astronomical"] .calendar-day.is-selected {
  background: var(--accent);
  color: #05080e;
}

[data-theme="astronomical"] .ticket-key {
  font-family: var(--mono);
  color: var(--accent);
}
