:root {
  --bg: #0f1115;
  --card: #181b22;
  --line: #262932;
  --text: #e9ecf2;
  --muted: #8a93a6;
  --accent: #4cd964;
  --live: #ff3b30;
  --planned: #6e7891;
  --done: #4cd964;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background: var(--bg); color: var(--text); font: 16px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
header { padding: 32px 24px 16px; border-bottom: 1px solid var(--line); }
header h1 { margin: 0 0 4px; font-size: 28px; font-weight: 700; }
header .meta { color: var(--muted); font-size: 14px; }
header .meta strong { color: var(--text); }
.flag { display:inline-block; padding: 2px 8px; background:#000; color:#fff; border-radius:4px; font-size:14px; vertical-align: middle; margin-left:6px; }
.muted { color: var(--muted); }
main { max-width: 960px; margin: 0 auto; padding: 16px 24px 64px; }
section { margin: 24px 0; }
section h2 { margin: 0 0 12px; font-size: 18px; font-weight: 600; color: var(--muted); letter-spacing: 0.04em; text-transform: uppercase; }
section h2 .year { color: var(--line); margin-left: 8px; font-weight: 400; }
ul.events { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; }
li.event {
  display: grid; grid-template-columns: 120px 1fr auto; gap: 16px; align-items: center;
  background: var(--card); padding: 14px 16px; border-radius: 8px; border-left: 4px solid var(--line);
}
li.event.tour-dpwt   { border-left-color: #0a2240; }
li.event.tour-hpt    { border-left-color: #c8102e; }
li.event.tour-china  { border-left-color: #de2910; }
li.event.tour-asian  { border-left-color: #f5a623; }
li.event.status-in_progress { background: linear-gradient(180deg, rgba(255,59,48,0.10), var(--card)); }
li.event.status-completed { opacity: 0.85; }
.dates { color: var(--muted); font-variant-numeric: tabular-nums; font-size: 14px; }
.name strong { display:block; font-size: 16px; }
.name .tour-tag { display: inline-block; margin-top: 4px; padding: 2px 8px; font-size: 11px; border-radius: 4px; color: #fff; text-transform: uppercase; letter-spacing: 0.05em; }
.name .notes { margin-top: 4px; font-size: 12px; color: var(--muted); }
.badge { padding: 4px 10px; font-size: 12px; border-radius: 999px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; }
.badge.live { background: var(--live); color: #fff; animation: pulse 1.4s ease-in-out infinite; }
.badge.planned { background: transparent; color: var(--planned); border: 1px solid var(--planned); }
.badge.done { background: var(--done); color: #000; }
.badge.result { background: var(--done); color: #000; font-variant-numeric: tabular-nums; }
@keyframes pulse { 50% { opacity: 0.6; } }
footer { text-align:center; color: var(--muted); padding: 24px; border-top: 1px solid var(--line); }
@media (max-width: 600px) {
  li.event { grid-template-columns: 100px 1fr; }
  li.event .status { grid-column: 1 / -1; justify-self: end; }
}
