/* ===== Base theme (blue & white) ===== */
:root{
  --blue-900:#0a2540;
  --blue-700:#174ea6;
  --blue-600:#2563eb;
  --blue-100:#e7f0ff;
  --blue-50:#f5f9ff;
  --text:#0b1020;
  --card-border:#e5e7eb;
  --white:#ffffff;
}

*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; }
body{
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
  line-height:1.6;
  color:var(--text);
  background:var(--blue-50);
}

/* Layout helpers */
.container{
  width:min(100%, 960px);
  margin-inline:auto;
  padding: 0 1rem;
}

/* Header */
.site-header{
  background: linear-gradient(135deg, var(--blue-700), var(--blue-900));
  color:#fff;
  padding: 2rem 0 1.5rem;
}
.site-title{ margin:0 0 .25rem; font-size: clamp(1.5rem, 3.5vw, 2rem); }
.site-subtitle{ margin:.25rem 0 1rem; opacity:.9; }

.site-header nav a{
  color:#fff;
  text-decoration:none;
  margin-right:1rem;
  padding-bottom:.2rem;
  border-bottom:2px solid transparent;
}
.site-header nav a:hover,
.site-header nav a:focus{
  border-bottom-color:#fff;
}

/* Cards */
.card{
  background:var(--white);
  border:1px solid var(--card-border);
  border-radius:12px;
  padding:1rem 1.2rem;
  margin:1rem 0;
  box-shadow:0 2px 6px rgba(0,0,0,.05);
}

/* Reflections section with color zoning */
.reflections{ margin:2rem 0; }
.reflections h2{ margin-bottom:.5rem; }

.week{
  background:var(--white);
  border:1px solid #dbeafe;          /* light blue border */
  border-radius:12px;
  padding:1rem 1.2rem;
  margin:1rem 0;
}
/* Alternate background color to create blue/white zones */
.week:nth-of-type(even){
  background:var(--blue-100);
}

/* Headings & links */
h2{ margin-top:0; font-size:1.35rem; }
h3{ margin:.2rem 0 .5rem; font-size:1.1rem; color:var(--blue-700); }

a{ color:var(--blue-700); }
a:hover, a:focus{ text-decoration:underline; }

/* Footer */
.site-footer{
  background:var(--blue-900);
  color:#fff;
  text-align:center;
  padding:1rem;
  margin-top:2rem;
  font-size:.95rem;
}
