#sleep-session-timeline{--foreground:var(--ink);--border:var(--line);--viz-series-1:#286e60;--viz-series-2:#b87539;--viz-series-3:#5279a1;position:relative;margin:30px 0;color:var(--ink)}
#sleep-session-timeline .sleep-overview{margin-top:16px}
#sleep-session-timeline .sleep-plot{margin-top:16px}
#sleep-session-timeline .sleep-svg{display:block;width:100%;overflow:visible}
#sleep-session-timeline .sleep-svg text{fill:var(--ink);font-size:12px}
#sleep-session-timeline .sleep-svg .domain,#sleep-session-timeline .sleep-svg .tick line{stroke:var(--line)}
#sleep-session-timeline .sleep-svg [data-chart-frame]{fill:#ffffff50;stroke:var(--line)}
#sleep-session-timeline .sleep-svg .series{fill:none;stroke:var(--viz-series-1);stroke-width:1.4}
#sleep-session-timeline .sleep-svg .brush .selection{fill:var(--viz-series-1);fill-opacity:.13;stroke:var(--ink)}
#sleep-session-timeline .sleep-svg .brush .handle{fill:var(--ink)}
#sleep-session-timeline .sleep-svg [data-chart-hit]{fill:transparent;cursor:crosshair;touch-action:pan-y}
#sleep-session-timeline .timeline-tooltip{position:absolute;pointer-events:none;background:#fffef9;color:var(--ink);border:1px solid var(--line);border-radius:8px;box-shadow:0 4px 18px #173f3920;padding:12px;z-index:5;max-width:min(310px,90%);white-space:pre-line;font-size:12px;line-height:1.8}
#sleep-session-timeline .timeline-tooltip[hidden]{display:none}
#sleep-session-timeline .timeline-detail{white-space:pre-line;font-size:13px;line-height:1.8;margin:12px 0;min-height:70px}
#sleep-session-timeline .timeline-time,#sleep-session-timeline [data-selected]{font-variant-numeric:tabular-nums;font-size:13px}
#sleep-session-timeline .timeline-controls{display:flex;align-items:center;gap:20px;margin-top:14px}
#sleep-session-timeline .timeline-controls[hidden]{display:none}
#sleep-session-timeline .timeline-controls label{flex:1;font-size:13px}
#sleep-session-timeline input[type=range]{display:block;width:100%;accent-color:var(--green);margin-top:10px;min-height:28px}
#sleep-session-timeline .text-btn{white-space:nowrap}
@media(max-width:480px){#sleep-session-timeline .timeline-controls{gap:12px}#sleep-session-timeline .timeline-detail{font-size:12px;min-height:110px}}
