.site-header nav { margin-bottom: 1rem; }
#timer h2, .panel h2 { margin-top: .5rem; }
.countdown { font-size: clamp(2.2rem, 8vw, 4rem); font-weight: 700; font-variant-numeric: tabular-nums; margin: .2rem 0; color: var(--accent); }
.timing-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.timing-grid dt { color: var(--text-dim); font-size: .9rem; }
.timing-grid dd { margin: .3rem 0; font-weight: 600; }
.rift-controls { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: .75rem 0; }
input { min-width: 0; max-width: 100%; background: var(--surface-2); color: var(--text); border: 1px solid var(--line); border-radius: var(--radius); font: inherit; padding: .6rem; }
label { display: block; margin: .5rem 0; font-weight: 600; }
#custom-form input, #share-link { display: block; width: 100%; margin-bottom: 1rem; }
.upcoming { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.upcoming li { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); padding: 1rem; }
.upcoming strong, .upcoming span { display: block; }
.upcoming span { color: var(--text-dim); font-size: .85rem; margin-top: .25rem; }
#anchor-label { overflow-wrap: anywhere; }
button, input, select { min-height: 44px; }
@media (max-width: 40rem) {
  .timing-grid, .upcoming { grid-template-columns: 1fr; }
  .rift-controls { align-items: stretch; }
  .rift-controls input, .rift-controls button { width: 100%; }
}
