@font-face{font-family:'Bebas Neue';src:url('/assets/fonts/bebas-neue.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Boogaloo';src:url('/assets/fonts/boogaloo.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Caveat';src:url('/assets/fonts/caveat.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Cormorant Garamond';src:url('/assets/fonts/cormorant-garamond.ttf') format('truetype');font-weight:300 700;font-display:swap}
@font-face{font-family:'Fahkwang';src:url('/assets/fonts/fahkwang.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Inter';src:url('/assets/fonts/inter.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Lato';src:url('/assets/fonts/lato.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Libre Baskerville';src:url('/assets/fonts/libre-baskerville.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Lora';src:url('/assets/fonts/lora.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Montserrat';src:url('/assets/fonts/montserrat.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Noto Sans';src:url('/assets/fonts/noto-sans.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Open Sans';src:url('/assets/fonts/open-sans.ttf') format('truetype');font-weight:300 800;font-display:swap}
@font-face{font-family:'Press Start 2P';src:url('/assets/fonts/press-start-2p.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Roboto';src:url('/assets/fonts/roboto.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Roboto Condensed';src:url('/assets/fonts/roboto-condensed.ttf') format('truetype');font-weight:100 900;font-display:swap}
@font-face{font-family:'Roboto Mono';src:url('/assets/fonts/roboto-mono.ttf') format('truetype');font-weight:100 700;font-display:swap}
@font-face{font-family:'Source Sans Pro';src:url('/assets/fonts/source-sans-pro.ttf') format('truetype');font-weight:200 900;font-display:swap}
@font-face{font-family:'Syne Mono';src:url('/assets/fonts/syne-mono.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Ubuntu';src:url('/assets/fonts/ubuntu.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'VT323';src:url('/assets/fonts/vt323.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Xanh Mono';src:url('/assets/fonts/xanh-mono.ttf') format('truetype');font-weight:400;font-display:swap}
:root { color-scheme: light dark; }
html, body { margin: 0; min-height: 100%; background: transparent !important; }
body { display: grid; place-items: center; overflow-x: hidden; }
.countdown { container-type: inline-size; width: 100%; box-sizing: border-box; background: var(--widget-background, transparent); text-align: var(--align, center); font-family: var(--font, Georgia, serif); font-weight: var(--weight, 600); color: var(--digit-color, #000000); }
.timer-units { display: flex; justify-content: var(--justify, center); align-items: flex-start; gap: clamp(4px, var(--gap, 18px), 40px); padding: 6px 2px; }
.timer-unit { min-width: 0; display: flex; flex: 1 1 0; max-width: 180px; flex-direction: column; align-items: center; }
.timer-unit:first-child { flex-grow: 1.3; }
.timer-digit { font-size: clamp(1.35rem, calc(9cqw * var(--scale, 1)), calc(4.2rem * var(--scale, 1))); line-height: .95; letter-spacing: var(--tracking, .04em); font-variant-numeric: tabular-nums; }
.timer-label { margin-top: .5em; color: var(--label-color, #8F1D3F); font: 700 clamp(.62rem, calc(1.8vw * var(--scale, 1)), 1rem)/1.1 Arial, sans-serif; letter-spacing: .12em; text-transform: uppercase; }
.ended-message { margin: 0; padding: 10px; color: var(--digit-color); font-size: clamp(2rem, calc(8vw * var(--scale, 1)), 5rem); line-height: 1.1; letter-spacing: var(--tracking); }
.countdown[style*="--align: left"] { --justify: flex-start; }
.countdown[style*="--align: right"] { --justify: flex-end; }
@media (max-width: 360px) { .timer-units { gap: 4px; } .timer-label { letter-spacing: .05em; } }
