:root {
  --ink: #463c5f;
  --muted: #827b91;
  --paper: #fff9f5;
  --card: #ffffff;
  --purple: #8c70f4;
  --purple-dark: #684bd4;
  --mint: #69d8bf;
  --line: rgba(91, 70, 131, .11);
  --shadow: 0 16px 38px rgba(110, 83, 160, .13);
}

html, body {
  background: #fff9f5;
}

body {
  background:
    radial-gradient(circle at 8% 3%, rgba(255, 205, 179, .32), transparent 26%),
    radial-gradient(circle at 94% 18%, rgba(151, 225, 210, .28), transparent 25%),
    var(--paper);
}

.app-shell {
  background: rgba(255, 249, 245, .92);
}

.brand-mark {
  background: linear-gradient(145deg, #9a7df7, #6ed5c1);
  box-shadow: 0 15px 34px rgba(123, 92, 220, .25);
}

.avatar {
  background: linear-gradient(145deg, #f0e9ff, #dff8f1);
  color: #684bd4;
  box-shadow: 0 7px 18px rgba(104, 75, 212, .10);
}

.hero-card {
  background: linear-gradient(135deg, #a88bf7 0%, #8267ed 52%, #61cfbd 118%);
  box-shadow: 0 20px 46px rgba(119, 89, 218, .25);
}

.hero-kicker, .next-meta {
  color: rgba(255, 255, 255, .82);
}

.orbit,
.orbit:before {
  border-color: rgba(255, 255, 255, .26);
}

.orbit:after {
  background: rgba(255, 255, 255, .22);
  box-shadow: 0 0 48px rgba(255, 255, 255, .24);
}

.orbit span {
  background: #ffe0a8;
}

.child-chip,
.add-child-chip,
.lesson-card,
.child-card,
.settings-card,
.class-manage-card,
.filter-card,
.history-item,
.history-by-class article {
  border-color: rgba(112, 87, 158, .10);
  box-shadow: 0 8px 24px rgba(106, 80, 151, .055);
}

.child-chip.active {
  border-color: transparent;
  background: linear-gradient(135deg, #9476f3, #7358dc);
  box-shadow: 0 8px 18px rgba(117, 88, 220, .20);
}

.empty-illustration {
  background: linear-gradient(145deg, #f0e8ff, #dcf7ef);
  color: #795ce0;
}

.primary-button,
.primary-button.full {
  background: linear-gradient(135deg, #9174f1, #7358dd);
  box-shadow: 0 9px 20px rgba(117, 88, 221, .18);
}

.fab {
  background: linear-gradient(145deg, #9b7bf6, #7659df);
  box-shadow: 0 14px 30px rgba(117, 88, 221, .30);
}

.bottom-nav {
  border-color: rgba(103, 78, 145, .09);
  background: rgba(255, 252, 249, .94);
  box-shadow: 0 -9px 30px rgba(104, 80, 145, .07);
}

.nav-item {
  color: #aaa2b5;
}

.nav-item.active {
  color: #7357da;
}

.sheet-dialog {
  background: #fffaf7;
}

.sheet-dialog::backdrop {
  background: rgba(70, 55, 95, .35);
}

.sheet-handle {
  background: #ded5e8;
}

.close-button,
.class-card-head button,
.history-date {
  background: #f2ecfa;
  color: #7357da;
}

input, select {
  border-color: rgba(108, 81, 154, .12);
  background: #ffffff;
}

input:focus, select:focus {
  border-color: #987df0;
  box-shadow: 0 0 0 3px rgba(145, 116, 241, .12);
}

.schedule-editor-row,
.quick-ranges button {
  background: #f8f3fb;
}

.schedule-rule,
.schedule-rules,
.muted-note {
  background: #fff;
}

.class-card-foot {
  background: #fffcfa;
}

.summary-grid article {
  color: #4a3f60;
  box-shadow: 0 9px 22px rgba(106, 80, 151, .09);
}

.summary-grid article:nth-child(1) {
  background: linear-gradient(145deg, #e9e0ff, #f3eeff);
}

.summary-grid article:nth-child(2) {
  background: linear-gradient(145deg, #d8f5ec, #ebfbf6);
}

.summary-grid article:nth-child(3) {
  background: linear-gradient(145deg, #ffe6d8, #fff2eb);
}

.summary-grid span {
  color: #82788e;
}

.segmented {
  background: #eee8f5;
}

.segmented input:checked + span {
  color: #684bd4;
  box-shadow: 0 4px 12px rgba(104, 75, 212, .10);
}

.toast {
  background: #5d4c78;
  box-shadow: 0 10px 25px rgba(70, 55, 95, .22);
}

@media (min-width: 681px) {
  body { background: #eee8f2; }
  .app-shell { background: #fff9f5; }
}
