/* Taste Lab step timers (assets/js/taste-timer.js) */
.recipe-text-container .tm-wrap{display:inline-flex;align-items:stretch;vertical-align:middle;margin:0 .1em;line-height:1;white-space:nowrap;position:relative;top:-.06em}
.recipe-text-container .tm-wrap .tm-chip{appearance:none;-webkit-appearance:none;position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:.42rem;height:1.9rem;min-width:0;width:auto;margin:0;padding:0 .8rem 0 .65rem;border:1.5px solid #e3a857;border-radius:999px;background:rgba(227,168,87,.1);box-shadow:none;color:#f3c98a;font-family:inherit;font-size:.82rem;font-weight:700;letter-spacing:.02em;line-height:1;text-transform:none;text-decoration:none;cursor:pointer;transition:background .2s,color .2s,border-color .2s;-webkit-tap-highlight-color:transparent}
.recipe-text-container .tm-wrap .tm-chip:hover{background:rgba(227,168,87,.22);color:#fff;border-color:#f0bd6e;box-shadow:none}
.recipe-text-container .tm-wrap .tm-chip:focus-visible,.recipe-text-container .tm-wrap .tm-x:focus-visible{outline:3px solid #7fe3f2;outline-offset:2px}
.tm-chip svg{position:relative;flex:none;width:.72rem;height:.72rem;fill:currentColor}
.tm-chip .tm-t{position:relative;font-variant-numeric:tabular-nums}
.tm-chip .tm-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,rgba(227,168,87,.3),rgba(227,168,87,.55));pointer-events:none}
/* running / paused */
.tm-wrap[data-state="run"] .tm-chip,.tm-wrap[data-state="pause"] .tm-chip{color:#fff;background:rgba(227,168,87,.12)}
.tm-wrap[data-state="pause"] .tm-chip{border-style:dashed}
.tm-wrap[data-state="pause"] .tm-t{opacity:.85}
/* finished */
.recipe-text-container .tm-wrap[data-state="done"] .tm-chip{background:#e3a857;color:#1d2038;border-color:#e3a857}
.tm-wrap[data-state="done"] .tm-fill{display:none}
/* ringing */
.recipe-text-container .tm-wrap[data-state="ring"] .tm-chip{background:#ff6b7e;border-color:#ff6b7e;color:#2a0a10;animation:tm-pulse 1s ease-in-out infinite}
.tm-wrap[data-state="ring"] .tm-fill{display:none}
@keyframes tm-pulse{0%,100%{box-shadow:0 0 0 0 rgba(255,107,126,.7)}50%{box-shadow:0 0 0 .55rem rgba(255,107,126,0)}}
/* small reset button */
.recipe-text-container .tm-wrap .tm-x{appearance:none;-webkit-appearance:none;display:inline-flex;align-items:center;justify-content:center;width:1.9rem;height:1.9rem;min-width:0;margin:0 0 0 .25rem;padding:0;border:1.5px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.06);box-shadow:none;color:#d5d9ec;font-family:inherit;position:relative;font-size:0;line-height:0;text-transform:none;cursor:pointer;overflow:hidden}
.recipe-text-container .tm-wrap .tm-x:before,.recipe-text-container .tm-wrap .tm-x:after{content:"";position:absolute;left:50%;top:50%;width:.72rem;height:2px;margin:-1px 0 0 -.36rem;border-radius:2px;background:currentColor;transform:rotate(45deg)}
.recipe-text-container .tm-wrap .tm-x:after{transform:rotate(-45deg)}
.recipe-text-container .tm-wrap .tm-x[hidden]{display:none}
.recipe-text-container .tm-wrap .tm-x:hover{background:rgba(255,255,255,.18);color:#fff;border-color:rgba(255,255,255,.5);box-shadow:none}

/* "time's up" notice */
.tm-toast{position:fixed;left:50%;bottom:1rem;transform:translateX(-50%);z-index:99990;width:calc(100% - 1.6rem);max-width:30rem;display:flex;flex-direction:column;gap:.5rem;font-family:"Source Sans Pro",Helvetica,Arial,sans-serif}
.tm-toast[hidden]{display:none}
.tm-row{display:flex;align-items:center;gap:.6rem;padding:.7rem .8rem .7rem 1rem;border-radius:16px;background:#2c3257;border:1.5px solid #ff6b7e;box-shadow:0 14px 40px rgba(0,0,0,.55),0 0 0 4px rgba(255,107,126,.15);color:#fff;animation:tm-in .25s ease}
@keyframes tm-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.tm-msg{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem}
.tm-msg b{font-size:1rem;color:#ff9aa6;letter-spacing:.02em}
.tm-msg span{font-size:.85rem;color:#d5d9ec;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tm-toast button{appearance:none;-webkit-appearance:none;flex:none;height:2.4rem;width:auto;min-width:0;margin:0;padding:0 1rem;border:1.5px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.08);box-shadow:none;color:#fff;font-family:inherit;font-size:.78rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;cursor:pointer}
.tm-toast button:hover{background:rgba(255,255,255,.2);color:#fff;box-shadow:none}
.tm-toast .tm-stop{background:#ff6b7e;border-color:#ff6b7e;color:#2a0a10}
.tm-toast .tm-stop:hover{background:#ff8a99;color:#2a0a10}
@media (prefers-reduced-motion:reduce){.tm-wrap[data-state="ring"] .tm-chip,.tm-row{animation:none}}
