:root{color:#1f2328;--accent:#1a73e8;--border:#d0d7de;background:#f6f8fa;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0}.app-header{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;padding:.75rem 1.5rem;display:flex}.app-header h1{margin:0;font-size:1.25rem}main{outline:none;max-width:1100px;margin:2rem auto;padding:0 1rem}.card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:1.5rem}.login{text-align:center;max-width:420px;margin:4rem auto}.btn{font:inherit;border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:6px;padding:.5rem 1rem}.btn:hover:not(:disabled){background:#f3f4f6}.btn:focus-visible,select:focus-visible,.dot:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.6;cursor:not-allowed}.btn-google{background:var(--accent);border-color:var(--accent);color:#fff}.btn-google:hover:not(:disabled){background:#1765cc}.toolbar{align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.toolbar h2{margin:0 auto 0 0}.chart{width:100%;position:relative}.timeline{display:flex}.timeline-yaxis{flex:none;display:block}.timeline-scroller{flex:1;overflow:auto hidden}.timeline-scroller svg{display:block}.timeline-scroller:focus-visible,.item:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.axis-title{fill:#57606a;font-size:.8rem}.grid line{stroke:#eaeef2}.grid line.baseline{stroke:#57606a;stroke-width:1.5px}.item{cursor:pointer}.item rect{fill-opacity:.45;stroke-width:1.5px}.item.active rect{fill-opacity:.75}.item line.stroke{stroke-width:2.5px}.item line.hit{stroke:#0000}.item.active line.stroke{stroke-width:4px}.label{fill:#1f2328;paint-order:stroke;stroke:#fff;stroke-width:3px;stroke-linejoin:round;pointer-events:none;font-size:.8rem}.zoom{gap:.25rem;display:flex}.zoom .btn{min-width:2.25rem;font-weight:600}.legend{flex-wrap:wrap;gap:.5rem 1.25rem;margin:1rem 0 0;padding:0;font-size:.9rem;list-style:none;display:flex}.legend li{align-items:center;gap:.4rem;display:flex}.swatch{border-radius:3px;width:.9rem;height:.9rem}.tooltip{pointer-events:none;color:#fff;white-space:nowrap;background:#1f2328;border-radius:4px;padding:.25rem .5rem;font-size:.85rem;position:absolute;transform:translate(-50%,-100%)}.status{text-align:center;min-height:1.5em}.status[data-kind=error]{color:#b42318}
