.tb-stage{position:relative;padding:1.5rem 0 1.5rem 1rem;overflow:hidden}
.tb-stage .tb-button{max-width:calc(100% - 76px)}
.tb-button{position:relative;z-index:1;display:inline-block;padding:16px 28px;border-radius:12px;background:var(--fg);color:var(--bg);font-size:52px;font-weight:500;line-height:1.5;white-space:nowrap}
@media (max-width:520px){.tb-button{font-size:40px;padding:12px 20px}}
.tb-label{display:block}
.tb-base{display:inline-block;width:0;height:0;vertical-align:baseline}
.tb-lines{position:absolute;inset:0;z-index:2;pointer-events:none}
.tb-line{position:absolute;left:0;right:76px;height:0;border-top:1px solid var(--muted)}
.tb-line.tb-red{border-top-color:var(--redline)}
.tb-line.tb-dim{border-top-style:dashed}
.tb-tag{position:absolute;right:0;width:72px;transform:translateY(-50%);color:var(--muted);font-size:11px;line-height:1.2;white-space:nowrap}
.tb-tag.tb-red{color:var(--redline)}
.tb-band{position:absolute;left:0;right:76px;background:color-mix(in srgb,var(--redline) 28%,transparent)}
.tb-range{display:flex;gap:.6rem;align-items:center;margin-bottom:.9rem}
.tb-range input{flex:1;min-width:0;padding:0;border:0;accent-color:var(--redline)}
.tb-range output{min-width:4ch;text-align:right;font-variant-numeric:tabular-nums}
.tb-lh-stage{position:relative;padding:.75rem 0}
.tb-lh-text{position:relative;z-index:1;font-family:system-ui,-apple-system,sans-serif;font-size:32px;font-weight:500;padding-left:.5rem}
.tb-lh-marks{position:absolute;inset:0;pointer-events:none}
.tb-lh-line{position:absolute;left:0;right:0;border-top:1px dashed var(--muted);border-bottom:1px dashed var(--muted);box-sizing:border-box}
.tb-lh-content{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--fg) 7%,transparent)}
.tb-lh-half{position:absolute;left:0;right:0;background:color-mix(in srgb,var(--redline) 28%,transparent)}
