.week-vertical-event {
  place-content: center;
  min-height: 2px;
  padding: 2px 1px;
  border-radius: 6px;
  transform: translateX(-50%);
  overflow: hidden;
}

.week-vertical-event.compact {
  padding: 0;
  border-radius: 3px;
}

.week-vertical-event.compact strong { font-size: 7px; }
.week-vertical-event.compact span { display: none; }

.timeline-block.compact {
  grid-template-columns: 25px 1fr 22px;
  gap: 4px;
  padding: 2px 5px;
  border-radius: 8px;
}

.timeline-block.compact .timeline-block-icon {
  width: 22px;
  height: 22px;
  border-radius: 7px;
  font-size: 10px;
}

.timeline-block.compact .timeline-block-content small { font-size: 7px; }
.timeline-block.compact .timeline-block-content h3 { margin: 0; font-size: 10px; }
.timeline-block.compact .timeline-block-content p { display: none; }
.timeline-block.compact .timeline-status { width: 18px; height: 18px; border-width: 2px; font-size: 9px; }

.timeline-block.micro {
  grid-template-columns: 15px 1fr 13px;
  gap: 2px;
  padding: 0 3px;
  border-radius: 4px;
}

.timeline-block.micro .timeline-block-icon { width: 13px; height: 13px; border-radius: 4px; font-size: 7px; }
.timeline-block.micro .timeline-block-content small,
.timeline-block.micro .timeline-block-content p { display: none; }
.timeline-block.micro .timeline-block-content h3 { margin: 0; font-size: 7px; line-height: 1; }
.timeline-block.micro .timeline-status { width: 10px; height: 10px; border-width: 1px; font-size: 6px; }

.event-motto {
  position: relative;
  margin: 8px 0 18px;
  padding: 16px 12px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 20px;
  color: #fff;
  background: linear-gradient(120deg,#ff6773,#ff9d5c 48%,#6b63ff);
  box-shadow: 0 14px 34px rgba(91,72,184,.28);
  font-family: "STKaiti","KaiTi",serif;
  font-style: normal;
  font-weight: 900;
  letter-spacing: .18em;
  text-align: center;
  overflow: hidden;
  animation: motto-float 3.6s ease-in-out infinite;
}

.event-motto::after {
  content: "";
  position: absolute;
  inset: -80% auto -80% -35%;
  width: 28%;
  background: linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  transform: rotate(18deg);
  animation: motto-shine 4.2s ease-in-out infinite;
}

.event-motto-lead { display: flex; justify-content: center; gap: 1.1em; font-size: 25px; }
.event-motto-tail { margin: 22px 0 34px; font-size: 21px; background: linear-gradient(120deg,#2b3975,#6657d9 52%,#c75c86); }

@keyframes motto-float {
  50% { transform: translateY(-3px); box-shadow: 0 18px 42px rgba(91,72,184,.38); }
}

@keyframes motto-shine {
  0%,58% { left: -35%; }
  85%,100% { left: 120%; }
}

@media (prefers-reduced-motion: reduce) {
  .event-motto,
  .event-motto::after { animation: none; }
}

.timeline-now i {
  border-top-width: 1px;
  box-shadow: 0 1px 3px rgba(255,63,76,.2);
}

.timeline-now strong {
  display: block;
  position: absolute;
  z-index: 1;
  top: -9px;
  left: 6px;
  padding: 2px 4px;
  border-radius: 5px;
  color: #ff3f4c;
  background: rgba(255,255,255,.94);
  font-size: 8px;
  line-height: 1;
}

.event-page > .live-clock {
  margin: 4px auto 12px;
  color: #20263a;
  border-color: #dfe3ec;
  background: rgba(255,255,255,.96);
  box-shadow: 0 8px 22px rgba(36,42,68,.08);
}

.event-page > .live-clock span {
  color: #6f7587;
  opacity: 1;
}

.event-page > .live-clock strong {
  color: #ff6570;
  font-size: 20px;
  font-weight: 950;
}

.timeline-now i::before {
  content: "";
  position: absolute;
  top: -3px;
  left: 66px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #ff3f4c;
}

.data-backup-row { display: grid; gap: 12px; }
.data-backup-row p { margin: 4px 0 0; color: #85899a; font-size: 11px; }
.data-backup-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; width: 100%; }
.data-backup-actions .page-button { display: grid; place-items: center; min-height: 44px; margin: 0; padding: 8px; font-size: 11px; text-align: center; cursor: pointer; }
.import-data-button { color: #435078; background: #e9edf6; }

.event-calibrate-button { display:grid;grid-template-columns:24px auto;align-items:center;gap:0 6px;min-width:112px;padding:8px 11px;border:1px solid #ffd1d4;border-radius:15px;color:#c94e59;background:#fff1f2;box-shadow:0 7px 18px rgba(255,101,112,.12);font:inherit }
.event-calibrate-button>span { grid-row:1/3;font-size:22px;font-weight:900 }
.event-calibrate-button strong { font-size:11px;line-height:1.1 }
.event-calibrate-button small { color:#8f6670;font-size:9px;font-variant-numeric:tabular-nums }
.event-calibrate-button.is-calibrated>span { animation:calibrate-spin .65s ease }
@keyframes calibrate-spin { to { transform:rotate(360deg) } }
.event-export-card { display:grid;grid-template-columns:1fr auto;align-items:center;gap:14px;margin:0 0 38px;padding:18px;border:1px solid #dfe4f2;border-radius:22px;background:#fff;box-shadow:0 12px 30px rgba(36,48,84,.09) }
.event-export-card h2 { margin:2px 0 4px;font-size:18px }
.event-export-card small { color:#85899a;font-size:10px }
.event-excel-actions { display:grid;grid-template-columns:1fr 1fr;gap:8px }
.event-export-card button { min-height:46px;padding:0 13px;border:0;border-radius:14px;color:#fff;background:#2f4387;font:inherit;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(47,67,135,.24);white-space:nowrap }
.event-export-card .event-import-button { color:#334575;background:#edf1fb;box-shadow:none }
.event-export-card button span { margin-right:5px;font-size:18px }
@media(max-width:390px){.event-export-card{grid-template-columns:1fr}.event-export-card button{width:100%}.event-topbar h1{font-size:25px}.event-calibrate-button{min-width:105px;padding:7px 9px}}
