.cd-stage { display: grid; gap: 14px; padding: 16px 8px; border-radius: var(--r-lg); }
.cd-stage:fullscreen { background: var(--bg); align-content: center; padding: 30px; }
.cd-stage:fullscreen #cd-display { font-size: min(20vw, 34vh); }
.cd-stage:fullscreen .cd-tiles .stat-value { font-size: min(10vw, 18vh); }
.cd-stage:-webkit-full-screen { background: var(--bg); align-content: center; }
.cd-done #cd-display, .cd-done .cd-tiles .stat-value { color: var(--err); animation: cd-flash 1s steps(2, start) infinite; }
@keyframes cd-flash { 50% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .cd-done #cd-display, .cd-done .cd-tiles .stat-value { animation: none; } }
.cd-hms { display: grid; grid-template-columns: repeat(3, minmax(0, 110px)); gap: 10px; justify-content: center; }
.cd-hms input { text-align: center; font-size: 1.2rem !important; font-weight: 700; }
.cd-hms label { text-align: center; }
.cd-presets { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.cd-controls { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.cd-controls .btn { min-width: 100px; }
.cd-tiles .stat-value { font-size: clamp(1.8rem, 1.2rem + 3vw, 3.2rem); }
#cd-status, #cd-date-msg { text-align: center; font-weight: 600; margin: 0; min-height: 1.4em; }
