
:root{
  --ink:#0f172a; --muted:#475569; --bg:#ffffff; --card:#ffffff; --ring:#e2e8f0; --accent:#eef2ff;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;color:var(--ink);background:radial-gradient(circle at 1px 1px, rgba(0,0,0,.03) 1px, transparent 0) , var(--bg);background-size:18px 18px;font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, Apple Color Emoji, Segoe UI Emoji;line-height:1.6}
.container{max-width:1100px;margin:0 auto;padding:24px}
.header{background:linear-gradient(135deg,#f8fafc,#eef2ff);padding:36px 0;border-bottom:1px solid var(--ring)}
h1{font-size:clamp(28px,4vw,42px);margin:6px 0 0}
.subtitle{color:var(--muted);margin-top:4px}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.chip{display:inline-flex;align-items:center;border:1px solid #c7d2fe;border-radius:9999px;padding:6px 10px;font-size:12px;background:#eef2ff}
.grid{display:grid;gap:16px;grid-template-columns:1fr}
@media(min-width:900px){.grid{grid-template-columns:300px 1fr}}
.card{background:var(--card);border:1px solid var(--ring);border-radius:16px;padding:16px}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.btn{display:inline-block;border:1px solid #c7d2fe;background:#eef2ff;padding:8px 12px;border-radius:10px;text-decoration:none;color:#1e293b;font-weight:600}
.timeline{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.slot{border:1px solid var(--ring);border-radius:14px;padding:12px;background:#fff}
.slot .time{font-size:12px;color:var(--muted);text-transform:uppercase}
.slot .title{font-weight:700;margin:2px 0}
.badge{font-size:12px;border:1px solid #e2e8f0;border-radius:9999px;padding:2px 8px;margin-left:auto}
.slot.break{background:#fff7ed;border-color:#fed7aa}
.slot.lunch{background:#ecfdf5;border-color:#a7f3d0}
.footer{border-top:1px solid var(--ring);margin-top:40px;padding:24px 0;color:var(--muted)}
.nav{display:flex;gap:12px;margin-top:16px;flex-wrap:wrap}
.nav a{color:#1f2937;text-decoration:none;border-bottom:1px dotted #cbd5e1}
.hero-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
table{border-collapse:collapse;width:100%} th,td{border:1px solid var(--ring);padding:8px;text-align:left}
section h2{margin-top:4px}
.small{font-size:12px;color:var(--muted)}

/* details/summary styling for clickable abstracts */
.slot summary {
  list-style: none;          /* hide default marker */
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr; /* keeps current layout */
  gap: 8px;
}
.slot[open] summary {
  border-bottom: 1px solid var(--ring);
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.abstract { color: var(--muted); font-size: 14px; }
