.duration-picker{--position:33.333%;--direction:1;margin:28px 0;padding:0 2px;border:0;background:none;box-shadow:none}
.duration-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.duration-heading>span{font-size:13px;color:#b5a7c7}.duration-value{color:#f4eaff;font-size:32px;line-height:1.2;font-weight:650;letter-spacing:-1.3px;font-variant-numeric:tabular-nums}.duration-value small{font-size:14px;font-weight:450;color:#b9a4d0;letter-spacing:0}
.duration-control{height:62px;position:relative;margin:8px 0 0}.duration-rail{position:absolute;left:15px;right:15px;top:28px;height:6px;border-radius:8px;background:#08070e;box-shadow:0 1px 0 #ffffff10,inset 0 1px 4px #0006;overflow:hidden}.duration-fill{height:100%;width:var(--position);border-radius:inherit;background:linear-gradient(90deg,#7854b7,#d2b6ff);transition:width .19s cubic-bezier(.2,.8,.2,1)}
.duration-drop{position:absolute;top:15px;left:calc(15px + (100% - 30px) * var(--fraction));width:32px;height:32px;margin-left:-16px;border-radius:50%;background:radial-gradient(circle at 32% 22%,#fff5ff,#e6d3ff 30%,#b38de2 75%,#8864b9);border:1px solid #ffffff80;box-shadow:0 5px 16px #09050bbb,0 0 18px #b689ef30,inset 0 1px 3px #fff9;pointer-events:none;transition:left .19s cubic-bezier(.2,.8,.2,1),transform .18s,border-radius .18s}
.duration-picker.dragging .duration-drop{transform:scale(1.22,.9) rotate(calc(var(--direction) * -12deg));border-radius:45% 60% 48% 60%}.duration-picker.settling .duration-drop{animation:duration-settle .38s ease-out}
.duration-control input[type=range]{position:absolute;inset:0;width:100%;height:62px;margin:0;opacity:0;cursor:grab;touch-action:pan-y}.duration-control:focus-within .duration-rail{outline:2px solid #e2cbff;outline-offset:6px}.duration-control input:disabled{cursor:wait}.duration-ticks{display:flex;justify-content:space-between;margin:0 -3px}.duration-ticks button{appearance:none;border:0;background:none;color:#83768f;font-size:12px;font-variant-numeric:tabular-nums;padding:6px 0;min-width:36px;min-height:32px;border-radius:8px;transition:color .2s,transform .2s}.duration-ticks button.duration-selected{color:#e4caff;transform:translateY(-1px)}
@keyframes duration-settle{0%{transform:scale(1.22,.87)}45%{transform:scale(.92,1.12)}75%{transform:scale(1.04,.97)}100%{transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.duration-picker *{transition:none!important;animation:none!important}.duration-picker.dragging .duration-drop{transform:none}}

.duration-control input[type=range]{appearance:none;-webkit-appearance:none;background:transparent}.duration-control input::-webkit-slider-thumb{-webkit-appearance:none;width:30px;height:30px}.duration-control input::-moz-range-thumb{width:30px;height:30px;border:0}

.duration-control input[type=range]{touch-action:none;outline:none!important;box-shadow:none!important;border:0!important}
.duration-control:focus-within .duration-rail{outline:none!important}
.duration-picker.dragging .duration-drop,.duration-picker.dragging .duration-fill{transition:none}

/* iOS tap feedback belongs to the liquid thumb, never the invisible range box. */
.duration-picker,.duration-picker *{-webkit-tap-highlight-color:transparent}
.duration-control{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
