/* ── Grade 1 Math — Shared Index / Navigation Styles ──────────────
   Used by math/index.html and subdirectory index pages.
   Theme variables: --heading-color, --link-color, --link-border,
   --num-bg, --title-color, --tip-bg, --tip-border
   ─────────────────────────────────────────────────────────────── */

/* Reset */
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Comic Sans MS', 'Chalkboard SE', cursive; background: #fffdf5; color: #333; min-height: 100vh; }

/* Layout */
.container { max-width: 720px; margin: 0 auto; padding: 32px 20px; }
.breadcrumb { font-size: 12px; color: #aaa; margin-bottom: 16px; }
.breadcrumb a { color: var(--link-color, #2e7d32); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }
h1 { font-size: 26px; text-align: center; color: var(--heading-color, #2e7d32); margin-bottom: 4px; }
.subtitle { text-align: center; font-size: 13px; color: #888; margin-bottom: 28px; }
.section-label { font-size: 13px; font-weight: bold; color: #888; text-transform: uppercase; letter-spacing: 1px; margin: 24px 0 10px 4px; }
.section-label:first-of-type { margin-top: 0; }

/* Sheet list (subdirectory index pages) */
.sheet-list { display: flex; flex-direction: column; gap: 10px; }
.sheet-link { display: flex; align-items: center; gap: 14px; padding: 14px 18px; background: #fff; border: 2px solid var(--link-border, #81c784); border-radius: 12px; text-decoration: none; color: #333; transition: transform .12s, box-shadow .12s; }
.sheet-link:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.sheet-num { width: 32px; height: 32px; background: var(--num-bg, #81c784); color: #fff; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 14px; font-weight: bold; flex-shrink: 0; }
.sheet-title { font-size: 15px; font-weight: bold; color: var(--title-color, #2e7d32); }
.sheet-pages { font-size: 11px; color: #aaa; margin-top: 1px; }
.sheet-arrow { margin-left: auto; font-size: 20px; color: #ccc; flex-shrink: 0; }
.print-tip { margin-top: 28px; padding: 12px 16px; background: var(--tip-bg, #f1f8e9); border: 1.5px dashed var(--tip-border, #81c784); border-radius: 10px; font-size: 12px; color: #888; text-align: center; }

/* Category cards (main math index) */
.card-grid { display: flex; flex-direction: column; gap: 12px; }
.card { display: flex; align-items: center; gap: 16px; padding: 16px 20px; background: #fff; border-radius: 14px; text-decoration: none; color: #333; transition: transform .12s, box-shadow .12s; }
.card:hover { transform: translateY(-2px); box-shadow: 0 4px 14px rgba(0,0,0,.08); }
.card.green  { border: 2px solid #81c784; }
.card.teal   { border: 2px solid #4db6ac; }
.card.purple { border: 2px solid #ce93d8; }
.card.blue   { border: 2px solid #4fc3f7; }
.card-icon { font-size: 32px; flex-shrink: 0; }
.card-body { flex: 1; }
.card-title { font-size: 17px; font-weight: bold; }
.card-title.green  { color: #2e7d32; }
.card-title.teal   { color: #00695c; }
.card-title.purple { color: #7b1fa2; }
.card-title.blue   { color: #0277bd; }
.card-desc { font-size: 12px; color: #777; margin-top: 2px; }
.card-arrow { font-size: 22px; color: #ccc; flex-shrink: 0; }
.step-badge { display: inline-block; background: #e0e0e0; color: #555; border-radius: 10px; padding: 1px 8px; font-size: 10px; font-weight: bold; margin-left: 6px; vertical-align: middle; }

footer { text-align: center; margin-top: 40px; font-size: 11px; color: #bbb; }
