/* Timer structural styles are shared by frontend and builder; all colors and sizes are node scoped. */
.nm-timer{box-sizing:border-box;display:flex;flex-direction:column;align-items:stretch;gap:12px;min-width:0;width:100%;max-width:100%}
.nm-timer *{box-sizing:border-box}
.nm-timer__title,.nm-timer__subtitle,.nm-timer__message{margin:0}
.nm-timer__title{font-weight:600}.nm-timer__units{display:flex;align-items:center;flex-wrap:wrap;min-width:0;gap:10px;justify-content:center}
.nm-timer__unit{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;min-width:0;flex:0 1 auto;text-align:center}
.nm-timer__value{display:block;line-height:1.12;white-space:nowrap;font-variant-numeric:tabular-nums}.nm-timer__label{display:block;line-height:1.5;white-space:nowrap}
.nm-timer__separator{line-height:1;flex:0 0 auto}.nm-timer__ring{display:none;flex:0 0 auto;position:relative}.nm-timer__ring-svg{width:100%;height:100%;overflow:visible}
.nm-timer__ring-fill{stroke-linecap:round;transition:stroke-dashoffset .35s linear}.nm-timer__progress{display:none;width:100%;max-width:450px;margin-inline:auto;border-radius:100px;background:#e3ebed;overflow:hidden}.nm-timer__progress-fill{display:block;height:100%;width:0;transition:width .35s linear}
.nm-timer__message[hidden]{display:none!important}.nm-timer__button{display:inline-block;align-self:center;text-decoration:none!important;line-height:1.3;cursor:pointer;transition:filter .2s}.nm-timer__button:hover{filter:brightness(.9)}
.nm-timer--classic .nm-timer__separator,.nm-timer--hero .nm-timer__separator,.nm-timer--flip .nm-timer__separator{display:none}
.nm-timer--minimal .nm-timer__unit{background:transparent!important;border:0!important;padding:0!important;min-width:0!important;border-radius:0!important}
.nm-timer--hero{background:#064c5b;color:#fff;border-radius:12px;padding:24px}.nm-timer--hero .nm-timer__title,.nm-timer--hero .nm-timer__subtitle,.nm-timer--hero .nm-timer__value,.nm-timer--hero .nm-timer__label{color:inherit}
.nm-timer--hero .nm-timer__unit{background:transparent;border:0}
.nm-timer--circular .nm-timer__units{justify-content:center}.nm-timer--circular .nm-timer__ring{display:block}.nm-timer--circular .nm-timer__unit{background:transparent;border:0;padding:0!important;min-width:0!important}.nm-timer--circular .nm-timer__progress{display:block}
.nm-timer--flip .nm-timer__unit{background:#202a32;border-color:#202a32;box-shadow:inset 0 -2px 0 #141e26}.nm-timer--flip .nm-timer__value{color:#fff;text-shadow:0 1px 0 #000}.nm-timer--flip .nm-timer__label{color:#e2ebef}.nm-timer--flip .nm-timer__unit:before{content:"";position:absolute;left:0;right:0;top:49%;border-top:1px solid rgba(255,255,255,.17);pointer-events:none}
.nm-timer.nm-timer--complete[data-end-action="hide"]{display:none}.nm-timer--complete .nm-timer__units{opacity:1}
.nm-timer--flip .nm-timer__value.is-ticking{animation:nm-timer-pulse .3s ease-out}@keyframes nm-timer-pulse{0%{opacity:.6;transform:translateY(-2px)}100%{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.nm-timer *{animation:none!important;transition:none!important}}

.nm-timer__ring-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center}.nm-timer__ring-percent{display:block;font-weight:700;line-height:1.05}.nm-timer__ring-caption{display:block;font-size:12px;line-height:1.4}.nm-timer--circular .nm-timer__ring-inner [data-nm-timer-part]{pointer-events:auto;cursor:pointer}

/* A completed timer remains selectable and editable inside the builder. */
.nm-b-v3-canvas .nm-timer.nm-timer--complete[data-end-action="hide"]{display:flex;opacity:.6}
