@import "../main.css";

@layer components {
  .timer [data-scope="timer"][data-part="root"] {
    @apply ui-root;

    max-width: var(--container-ui);
  }

  .timer [data-scope="timer"][data-part="area"] {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
  }

  .timer [data-scope="timer"][data-part="item"] {
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--color-ui);
    border: 1px solid var(--color-ui--border);
    border-radius: var(--radius-ui);
    font-size: var(--text-ui);
    line-height: var(--text-ui--line-height);
    font-weight: var(--font-weight-ui);
    color: var(--color-ui--text);
    height: 2em;
    aspect-ratio: 1/1;
    overflow: hidden;

    /* stylelint-disable-next-line declaration-property-value-no-unknown */
    font-variation-settings: "tnum";
    text-align: center;
    position: relative;
  }

  .timer [data-scope="timer"][data-part="item"]::before {
    position: absolute;
    left: 0;
    right: 0;
    content: "00\a 01\a 02\a 03\a 04\a 05\a 06\a 07\a 08\a 09\a 10\a 11\a 12\a 13\a 14\a 15\a 16\a 17\a 18\a 19\a 20\a 21\a 22\a 23\a 24\a 25\a 26\a 27\a 28\a 29\a 30\a 31\a 32\a 33\a 34\a 35\a 36\a 37\a 38\a 39\a 40\a 41\a 42\a 43\a 44\a 45\a 46\a 47\a 48\a 49\a 50\a 51\a 52\a 53\a 54\a 55\a 56\a 57\a 58\a 59\a 60\a 61\a 62\a 63\a 64\a 65\a 66\a 67\a 68\a 69\a 70\a 71\a 72\a 73\a 74\a 75\a 76\a 77\a 78\a 79\a 80\a 81\a 82\a 83\a 84\a 85\a 86\a 87\a 88\a 89\a 90\a 91\a 92\a 93\a 94\a 95\a 96\a 97\a 98\a 99\a";
    white-space: pre;
    top: calc(var(--value) * -2em);
    font-size: inherit;
    line-height: 2;
    text-align: center;
    transition: top 1s cubic-bezier(1, 0, 0, 1);
    pointer-events: none;
    z-index: 1;
  }

  .timer [data-scope="timer"][data-part="separator"] {
    font-size: var(--text-ui);
    line-height: var(--text-ui--line-height);
    font-weight: var(--font-weight-ui);
    padding: var(--spacing-micro-padding);
  }

  .timer [data-scope="timer"][data-part="control"] {
    display: inline-flex;
    width: 100%;
    justify-content: center;
    gap: var(--spacing-micro-gap);
  }

  .timer [data-scope="timer"][data-part="action-trigger"] {
    @apply ui-trigger ui-trigger--square ui-trigger--sm;
  }
}

@utility timer--* {
  [data-scope="timer"][data-part="root"] {
    max-width: --value(--container-ui-*, [length]);
  }

  [data-scope="timer"][data-part="item"] {
    font-size: --value(--text-ui-*, [length]);
    line-height: --value(--text-ui-* --line-height, [length]);
  }

  [data-scope="timer"][data-part="action-trigger"] {
    font-size: --value(--text-ui-*, [length]);
    line-height: --value(--text-ui-* --line-height, [length]);
    min-height: --value(--spacing-ui-*, [length]);
  }
}
