.header { margin-bottom: 12px; } .group { padding: 10px; background-color: var(--bg-log-info-card); border: 1px solid var(--color-separator); border-radius: 12px; box-shadow: var(--shadow-card); transition: border-color 0.2s ease, box-shadow 0.2s ease; } .zapWrapper { width: 20px; height: 20px; display: flex; align-items: center; justify-content: center; } .arrow { display: inline-flex; transform: rotate(0deg); transition: transform 0.3s; &.isOpen { transform: rotate(180deg); } &:focus { outline: var(--color-focus-blue) solid 1px; } } .groupHeader { display: flex; align-items: center; justify-content: space-between; user-select: none; .btnGroup { display: flex; flex-direction: row-reverse; } @media screen and (min-width: 768px) { justify-content: flex-start; .btnGroup { flex-direction: row; } } } .nowRow { display: flex; align-items: center; justify-content: space-between; padding: 2px 5px 0; min-width: 0; } .nowName { font-size: 0.8em; color: var(--color-text-secondary); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1; } .nowLatency { font-size: 0.75em; font-family: var(--font-mono); flex-shrink: 0; margin-left: 8px; } .availBar { margin: 8px 0; height: 15px; padding: 0 10px; display: flex; align-items: center; } .availBarTrack { flex: 1; height: 6px; border-radius: 3px; background: var(--color-separator); overflow: hidden; } .availBarFill { height: 100%; border-radius: 3px; background: #67c23a; transition: width 0.4s ease; }