:root {
  --navy: #101d35;
  --navy-soft: #182a48;
  --cyan: #55e8f4;
  --pink: #ef72ad;
  --yellow: #f4c95d;
  --lavender: #8998ff;
  --ink: #172238;
  --muted: #65717a;
  --paper: #fffefa;
  --canvas: #f3f5ef;
  --line: #dce1d8;
  --green: #0c7569;
  --green-dark: #07564f;
  --green-soft: #e2f4f0;
  --gold: #dba43a;
  --shadow: 0 22px 65px rgba(16, 29, 53, .11);
}

body {
  color: var(--ink);
  background: var(--canvas);
}

.site-header {
  color: white;
  background: rgba(16, 29, 53, .97);
  border-bottom-color: rgba(255,255,255,.11);
  box-shadow: 0 10px 35px rgba(16,29,53,.14);
  backdrop-filter: blur(14px);
}

.site-brand,
.site-nav-link,
.site-actions,
.top-stats {
  color: #e9f5f5;
}

.site-brand small,
.top-stats span {
  color: #aabec5;
}

.site-brand-mark {
  color: var(--navy);
  background: var(--cyan);
}

.site-nav-link:hover {
  color: white;
  background: rgba(255,255,255,.08);
}

.site-nav-link.active {
  color: var(--navy);
  background: var(--cyan);
}

.site-nav {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.14);
}

.top-stats strong {
  color: white;
}

.sync-button {
  color: #e9f5f5;
  background: rgba(255,255,255,.07);
  border-color: rgba(255,255,255,.2);
}

.sync-button:hover {
  color: var(--navy);
  background: var(--cyan);
  border-color: var(--cyan);
}

.portal-page .sidebar {
  color: white;
  background:
    radial-gradient(circle at 10% 10%, rgba(85,232,244,.13), transparent 25%),
    linear-gradient(155deg, var(--navy) 0%, var(--navy-soft) 70%, #164d4c 145%);
  border-color: rgba(255,255,255,.1);
}

.portal-page .sidebar .eyebrow,
.portal-page .sidebar .filter-note {
  color: var(--cyan);
}

.portal-page .sidebar .intro,
.portal-page .sidebar .field,
.portal-page .sidebar .field > small,
.portal-page .sidebar .text-button {
  color: #bdcdd2;
}

.portal-page .sidebar .field input,
.portal-page .sidebar .field select,
.portal-page .sidebar .topic-picker {
  color: var(--ink);
  background: #fffefa;
  border-color: rgba(255,255,255,.18);
}

.portal-page .sidebar .filter-note {
  background: rgba(85,232,244,.08);
  border-left-color: var(--cyan);
}

.portal-page .sidebar .topic-button {
  color: #c9d5d8;
}

.portal-page .sidebar .topic-button:hover,
.portal-page .sidebar .topic-button.active {
  color: var(--navy);
  background: var(--cyan);
}

.study-area {
  background:
    radial-gradient(circle at 90% 8%, rgba(85,232,244,.08), transparent 24%),
    var(--canvas);
}

.question-card,
.metric-card,
.panel,
.material-card,
.subject-card,
.plan-week-card,
.plan-priority-card {
  border-color: rgba(16,29,53,.12);
  box-shadow: 0 14px 45px rgba(16,29,53,.07);
}

.question-card {
  border-top: 5px solid var(--cyan);
}

.chip,
.topic-picker-actions button,
.shuffle-button {
  color: var(--navy);
  background: #dff9f7;
  border-color: #a7ded9;
}

.chip.cebraspe-frequency {
  color: #dffbff;
  background: var(--navy);
  border-color: #315a74;
}

.library-hero,
.plan-hero {
  color: white;
  background:
    radial-gradient(circle at 80% 25%, rgba(85,232,244,.18), transparent 25%),
    linear-gradient(128deg, var(--navy) 0%, #132541 60%, #0a4b49 145%);
  border-bottom: 5px solid var(--cyan);
}

.library-hero .eyebrow,
.plan-hero .eyebrow,
.plan-kicker {
  color: var(--cyan);
}

.library-hero p,
.plan-hero p {
  color: #c8d8dc;
}

.subject-card:hover,
.material-card:hover,
.plan-priority-card:hover {
  border-color: #8dbfc0;
  box-shadow: 0 18px 48px rgba(16,29,53,.11);
}

.subject-number,
.plan-priority-rank {
  color: var(--navy);
  background: var(--cyan);
}

.plan-priorities {
  background: #eef2ec;
}

.plan-summary > div,
.plan-method,
.plan-week-card {
  background: var(--paper);
}

.plan-progress-panel {
  background:
    radial-gradient(circle at 85% 20%, rgba(85,232,244,.15), transparent 28%),
    linear-gradient(135deg, var(--navy), var(--navy-soft));
  box-shadow: 0 20px 50px rgba(16,29,53,.16);
}

.plan-progress-panel .eyebrow {
  color: var(--cyan);
}

.plan-progress-track span {
  background: linear-gradient(90deg, var(--cyan), var(--yellow));
}

.reader-contextbar {
  color: white;
  background: var(--navy);
  border-color: rgba(255,255,255,.1);
}

.reader-contextbar a,
.reader-contextbar small {
  color: #b9cdd2;
}

.reader-toolbar {
  background: #f8faf6;
  border-color: var(--line);
}

.reader-toolbar button.active,
.complete-button {
  color: var(--navy);
  background: var(--cyan);
  border-color: var(--cyan);
}

.reader-document,
.reader-page,
.pdf-stage {
  border-color: rgba(16,29,53,.12);
  box-shadow: 0 15px 50px rgba(16,29,53,.07);
}

.site-footer {
  color: #d8e5e6;
  background: var(--navy);
  border-top: 5px solid var(--cyan);
}

.site-footer a,
.site-footer-brand,
.site-footer-meta {
  color: inherit;
}

.site-footer small,
.site-footer-meta {
  color: #9fb3ba;
}

.site-footer-mark {
  color: var(--navy);
  background: var(--cyan);
}

@media (max-width: 760px) {
  .site-nav {
    background: var(--navy);
  }

  .portal-page .sidebar {
    background: var(--navy);
  }
}
