* {
    border: 0;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    }
    :root {
    --hue: 223;
    --bg: hsl(var(--hue),10%,90%);
    --fg: hsl(var(--hue),10%,10%);
  
    }
    body, button {
    color: var(--fg);
    font: 1em/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    }
    body {
    background-color: var(--bg);
    height: 100vh;
    display: grid;
  
    }
   
    .progress-clock {
    display: grid;
    justify-content: center;
    align-content: center;
    position: relative;
    text-align: center;
    width: 200px;
    height: 200px;
    }
    .progress-clock__time-date,
    .progress-clock__time-digit,
    .progress-clock__time-colon,
    .progress-clock__time-ampm {
    transition: color 0.2s linear;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    }
    .progress-clock__time-date,
    .progress-clock__time-digit {
    background: transparent;
    }
    .progress-clock__time-date,
    .progress-clock__time-ampm {
    grid-column: 1 / 6;
    }
    .progress-clock__time-date {
    font-size: 0.75em;
    line-height: 1.33;
    }
    .progress-clock__time-digit,
    .progress-clock__time-colon {
    font-size: 1.375em;
    font-weight: 400;
    grid-row: 2;
    }
    .progress-clock__time-colon {
    line-height: 1.225;
    }
    .progress-clock__time-ampm {
    cursor: default;
    grid-row: 3;
    font-weight: bold;
    }
    .progress-clock__rings {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    }
    .progress-clock__ring {
    opacity: 0.1;
    }
    .progress-clock__ring-fill {
    transition:
    opacity 0s 0.3s linear,
    stroke-dashoffset 0.3s ease-in-out;
    }
    .progress-clock__ring-fill--360 {
    opacity: 0;
    stroke-dashoffset: 0;
    transition-duration: 0.3s;
    }
    [data-group]:focus {
    outline: transparent;
    }
    [data-units] {
    transition: opacity 0.2s linear;
    }
    [data-group="d"]:focus,
    [data-group="d"]:hover {
    color: hsl(333,90%,55%);
    }
    [data-group="h"]:focus,
    [data-group="h"]:hover {
    color: hsl(33,90%,55%);
    }
    [data-group="m"]:focus,
    [data-group="m"]:hover {
    color: hsl(213,90%,55%);
    }
    [data-group="s"]:focus,
    [data-group="s"]:hover {
    color: hsl(273,90%,55%);
    }
    [data-group]:focus ~ .progress-clock__rings [data-units],
    [data-group]:hover ~ .progress-clock__rings [data-units] {
    opacity: 0.2;
    }
    [data-group="d"]:focus ~ .progress-clock__rings [data-units="d"],
    [data-group="d"]:hover ~ .progress-clock__rings [data-units="d"],
    [data-group="h"]:focus ~ .progress-clock__rings [data-units="h"],
    [data-group="h"]:hover ~ .progress-clock__rings [data-units="h"],
    [data-group="m"]:focus ~ .progress-clock__rings [data-units="m"],
    [data-group="m"]:hover ~ .progress-clock__rings [data-units="m"],
    [data-group="s"]:focus ~ .progress-clock__rings [data-units="s"],
    [data-group="s"]:hover ~ .progress-clock__rings [data-units="s"] {
    opacity: 1;
    }
    /* Dark theme */
    @media (prefers-color-scheme: dark) {
    :root {
    --bg: hsl(var(--hue),10%,10%);
    --fg: hsl(var(--hue),10%,90%);
    }
    .progress-clock__ring {
    opacity: 0.2;
    }
    }