/* ── Reset & Base ── */
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:system-ui,'Segoe UI',sans-serif;background:#f5f3ff;color:#1e1b4b;font-size:16px;line-height:1.6}
a{color:#7c3aed;text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 20px}

/* ── Header ── */
.site-header{background:#1e1b4b;padding:14px 0;position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:16px}
.logo{display:flex;align-items:center;gap:10px;color:#fff;font-size:1.1rem}
.logo:hover{text-decoration:none}
.logo-badge{background:#7c3aed;color:#fff;font-weight:900;font-size:1.1rem;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.logo-badge.sm{width:22px;height:22px;border-radius:6px;font-size:.75rem}
.logo-text{color:#e0d9ff}
.logo-text strong{color:#fff}
.site-nav{display:flex;gap:20px}
.site-nav a{color:#c4b5fd;font-size:.9rem;font-weight:500;transition:color .2s}
.site-nav a:hover{color:#fff;text-decoration:none}

/* ── Breadcrumb ── */
.breadcrumb-bar{background:#ede9fe;border-bottom:1px solid #ddd6fe;padding:8px 0}
.breadcrumbs{font-size:.82rem;color:#6d28d9;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.breadcrumbs a{color:#7c3aed}
.breadcrumbs .sep{color:#a78bfa}

/* ── Hero ── */
.hero{background:linear-gradient(135deg,#1e1b4b 0%,#4c1d95 50%,#6d28d9 100%);color:#fff;padding:52px 0 44px;text-align:center}
.hero h1{font-size:2.2rem;font-weight:800;margin-bottom:10px;line-height:1.2}
.hero h1 span{color:#c4b5fd}
.hero p{font-size:1.05rem;color:#ddd6fe;max-width:560px;margin:0 auto 22px}
.hero-date{display:inline-block;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);color:#e9d5ff;padding:6px 18px;border-radius:20px;font-size:.9rem;font-weight:600}

/* ── Feature strip ── */
.features{background:#fff;border-bottom:1px solid #ede9fe;padding:14px 0}
.features .container{display:flex;gap:28px;justify-content:center;flex-wrap:wrap}
.feature-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:#5b21b6;font-weight:500}
.feature-icon{font-size:1.1rem}

/* ── Main layout ── */
.main-wrap{padding:32px 0 48px}
.main-wrap .container{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start}
@media(max-width:768px){.main-wrap .container{grid-template-columns:1fr}}

/* ── Section heading ── */
.section-heading{font-size:1.2rem;font-weight:700;color:#1e1b4b;margin-bottom:16px;display:flex;align-items:center;gap:8px}
.section-heading::after{content:'';flex:1;height:2px;background:linear-gradient(to right,#7c3aed22,transparent)}

/* ── Puzzle card ── */
.puzzle-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(109,40,217,.1);margin-bottom:20px;overflow:hidden}
.puzzle-card-head{background:linear-gradient(135deg,#1e1b4b,#4c1d95);color:#fff;padding:14px 20px;display:flex;align-items:center;justify-content:space-between}
.puzzle-card-head h2{font-size:1rem;font-weight:700}
.puzzle-card-head .badge{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.25);padding:3px 10px;border-radius:12px;font-size:.75rem}
.clue-list{padding:8px 0}
.clue-row{display:flex;align-items:center;gap:12px;padding:11px 20px;border-bottom:1px solid #f5f3ff;transition:background .15s}
.clue-row:last-child{border-bottom:none}
.clue-row:hover{background:#faf5ff}
.clue-num{width:26px;height:26px;background:#7c3aed;color:#fff;border-radius:8px;font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.clue-text{flex:1;color:#374151;font-size:.92rem}
.clue-answer{font-weight:700;color:#1e1b4b;font-size:.95rem;letter-spacing:.04em;background:#f5f3ff;padding:4px 10px;border-radius:6px;font-family:monospace}
.clue-letters{font-size:.72rem;color:#9ca3af;margin-left:4px;white-space:nowrap}

/* ── Bonus card ── */
.puzzle-card.bonus .puzzle-card-head{background:linear-gradient(135deg,#064e3b,#065f46)}
.puzzle-card.bonus .clue-num{background:#059669}
.puzzle-card.bonus .clue-answer{background:#ecfdf5}

/* ── Sidebar ── */
.sidebar-card{background:#fff;border-radius:14px;box-shadow:0 2px 12px rgba(109,40,217,.08);padding:18px;margin-bottom:20px}
.sidebar-card h3{font-size:.95rem;font-weight:700;color:#1e1b4b;margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid #ede9fe}
.date-list{list-style:none}
.date-list li{border-bottom:1px solid #f5f3ff}
.date-list li:last-child{border-bottom:none}
.date-list a{display:block;padding:8px 4px;font-size:.88rem;color:#4c1d95;transition:color .15s}
.date-list a:hover{color:#7c3aed;text-decoration:none;padding-left:8px}
.date-list .current{color:#7c3aed;font-weight:600}

/* ── Archive page ── */
.archive-wrap{padding:32px 0 48px}
.month-group{margin-bottom:28px}
.month-label{font-size:1rem;font-weight:700;color:#1e1b4b;background:#ede9fe;padding:8px 16px;border-radius:8px;margin-bottom:10px}
.date-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.date-grid a{background:#fff;border:1px solid #ddd6fe;border-radius:8px;padding:10px 14px;font-size:.85rem;color:#4c1d95;font-weight:500;transition:all .15s;display:block}
.date-grid a:hover{background:#7c3aed;color:#fff;border-color:#7c3aed;text-decoration:none;transform:translateY(-1px)}

/* ── Nav pager ── */
.date-nav{display:flex;justify-content:space-between;align-items:center;margin-top:20px;gap:12px}
.date-nav a{background:#7c3aed;color:#fff;padding:10px 20px;border-radius:8px;font-size:.88rem;font-weight:600;transition:background .2s}
.date-nav a:hover{background:#6d28d9;text-decoration:none}
.date-nav .current-label{font-size:.9rem;color:#6b7280;font-weight:500}

/* ── SEO text ── */
.seo-text{background:#fff;border-radius:14px;padding:24px 28px;margin-top:24px;box-shadow:0 2px 12px rgba(109,40,217,.06)}
.seo-text h2{font-size:1.1rem;color:#1e1b4b;margin-bottom:10px}
.seo-text p{color:#4b5563;font-size:.9rem;margin-bottom:10px}
.seo-text p:last-child{margin-bottom:0}

/* ── Footer ── */
.site-footer{background:#1e1b4b;color:#a78bfa;padding:32px 0;margin-top:20px}
.footer-inner{text-align:center}
.footer-brand{display:flex;align-items:center;justify-content:center;gap:8px;color:#e0d9ff;font-weight:600;margin-bottom:8px}
.footer-desc{font-size:.85rem;margin-bottom:14px;color:#8b5cf6}
.footer-links{display:flex;gap:20px;justify-content:center;margin-bottom:10px;flex-wrap:wrap}
.footer-links a{color:#c4b5fd;font-size:.85rem}
.footer-links a:hover{color:#fff}
.footer-also{font-size:.8rem;color:#6d4ab0}
.footer-also a{color:#a78bfa}
.footer-also a:hover{color:#fff}

/* ── Responsive ── */
@media(max-width:600px){
  .hero h1{font-size:1.5rem}
  .clue-answer{font-size:.85rem}
  .date-grid{grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}
}
