/* ── Reset & Base ──────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:          #0A0E27;
  --bg-elevated: rgba(14,18,44,.88);
  --bg-card:     rgba(28,36,68,.78);
  --bg-card-hover: rgba(36,44,80,.9);
  --sidebar-bg:  rgba(14,18,44,.85);
  --accent:      #F5D562;
  --accent-2:    #A89040;
  --accent-light:#F5D562;
  --gradient:    linear-gradient(135deg, rgba(245,213,98,.45), rgba(245,213,98,.25));
  --gradient-soft: linear-gradient(135deg, rgba(245,213,98,.15), rgba(160,140,60,.08));
  --button-soft: rgba(245,213,98,.35);
  --button-soft-hover: rgba(245,213,98,.55);
  --button-shadow: 0 0 20px rgba(245,213,98,.2);
  --button-shadow-hover: 0 0 30px rgba(245,213,98,.35);
  --button-text: #0A0E27;
  --text:        #E8E8F0;
  --text-muted:  #A8A8BE;
  --text-dim:    #808098;
  --border:      rgba(232,232,240,.08);
  --border-accent: rgba(245,213,98,.25);
  --shadow:      0 24px 70px rgba(0,0,0,.25);
  --shadow-sm:   0 10px 30px rgba(0,0,0,.15);
  --radius:      12px;
  --radius-sm:   8px;
  --radius-xs:   4px;
  --sidebar-w:   240px;
}

html, body { height: 100%; }
body {
  font-family: 'Cinzel', 'Georgia', 'Noto Serif SC', 'PingFang SC', 'Microsoft YaHei', 'SimSun', serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  overflow: hidden;
}

body::before {
  /* removed warm glow — starfield canvas handles the background now */
  display: none;
}

.hidden { display: none !important; }

/* ── View Transition ────────────────────────────────────────────────────────── */
@keyframes fadeSlideIn {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

@keyframes fadeSlideOut {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-8px); }
}

.content-view.anim-in,
.page-auth.anim-in {
  animation: fadeSlideIn .25s ease both;
}

.content-view.anim-out,
.page-auth.anim-out {
  animation: fadeSlideOut .18s ease forwards;
  pointer-events: none;
}

/* ── Starfield Canvas ──────────────────────────────────────────────────────── */
#star-canvas {
  position: fixed; inset: 0; z-index: 0;
  pointer-events: none;
}

/* ── Scrollbar ─────────────────────────────────────────────────────────────── */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: rgba(232,232,240,.10); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(232,232,240,.18); }
