html, body { margin: 0; height: 100%; overflow: hidden; background: transparent; }
  body { font-family: 'FFT Timer', 'FFT Sans', sans-serif; }
  .wrap {
    position: absolute; inset: 0; display: flex; align-items: center; gap: var(--gap, 20px);
    transition: opacity 0.35s ease;
  }
  .wrap.right { justify-content: flex-end; }
  .wrap.left { justify-content: flex-start; }
  .wrap.center { justify-content: center; }
  .wrap.hidden { opacity: 0; }
  .art { flex: none; height: var(--art-h); width: auto; display: none; border-radius: 8px; overflow: hidden; }
  .show-art .art { display: block; }
  .art.has-img img { height: var(--art-h); width: auto; max-width: calc(var(--art-h) * 1.4); display: block; }
  .art.ph { width: calc(var(--art-h) * 0.75); display: none; }
  .show-art .art.ph { display: flex; }
  .txt { display: flex; flex-direction: column; min-width: 0; }
  .right .txt { align-items: flex-end; }
  .center .txt { align-items: center; }
  .name {
    display: none; font-family: 'FFT Sans', sans-serif; font-weight: 700; color: #fff; white-space: nowrap; overflow: hidden;
    text-overflow: ellipsis; max-width: 100%; line-height: 1.1; font-size: var(--name-size); letter-spacing: 0.01em;
  }
  .show-name .name { display: block; }
  .time {
    font-size: var(--size); line-height: 1; font-weight: var(--weight, 500); font-variant-numeric: tabular-nums;
    white-space: nowrap; letter-spacing: -0.01em;
    background-image: linear-gradient(180deg, var(--t1) 0%, var(--t2) 48%, var(--t3) 100%);
    -webkit-background-clip: text; background-clip: text; color: transparent; -webkit-text-fill-color: transparent;
    padding: 0.04em 0.02em 0.06em;
  }
  .time .cs { font-size: 0.56em; }
  .shadow .time, .shadow .name, .shadow .art { filter: drop-shadow(0 0.03em 0.05em rgba(0, 0, 0, 0.75)); }
  .shadow .name { filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.8)); }
  .shadow .art { filter: drop-shadow(0 3px 8px rgba(0, 0, 0, 0.6)); }
  .swap .txt, .swap .art { animation: swap 0.45s ease; }
  @keyframes swap { 0% { opacity: 0; transform: translateY(8%); } 100% { opacity: 1; transform: none; } }
