.chart { position: relative; display: flex; flex-direction: column; min-height: 0; flex: 1; label, select { margin: -0.375rem; padding: 0.375rem; } select { width: auto; background: none; } legend { position: absolute; left: 0; right: 0; z-index: 20; font-size: var(--font-size-xs); line-height: var(--line-height-xs); pointer-events: none; &::before, &::after { content: ""; position: absolute; top: 0; bottom: 0; width: var(--main-padding); z-index: 1; pointer-events: none; } &::before { left: 0; background-image: linear-gradient( to left, transparent, var(--background-color) ); } &::after { right: 0; background-image: linear-gradient( to right, transparent, var(--background-color) ); } > div { display: flex; align-items: center; overflow-x: auto; scrollbar-width: thin; padding: 0 var(--main-padding); padding-top: 0.375rem; @media (pointer: coarse) { pointer-events: auto; } > * { pointer-events: auto; } > span { color: var(--gray); padding: 0 0.75rem; } } padding: 0; top: 0; text-transform: lowercase; select { text-transform: lowercase; } > div { padding-bottom: 0.75rem; small { flex-shrink: 0; } > div:last-child { display: flex; align-items: center; gap: 1rem; flex-shrink: 0; > div { flex: 0; height: 100%; display: flex; align-items: center; > label { > span { display: flex !important; } &:has(input:not(:checked)) { > span.main > span.name { text-decoration: line-through 1.5px var(--color); } &:hover { * { color: var(--off-color) !important; } > span.main > span.name { text-decoration-color: var(--orange) !important; } } &:active { color: var(--orange); } } } > a { padding-inline: 0.375rem; margin-inline: -0.375rem; margin-top: 0.1rem; } } } } } > div { min-height: 0; height: 100%; margin-right: var(--negative-main-padding); margin-left: var(--negative-main-padding); div.field { display: flex; flex-shrink: 0; gap: 0.375rem; cursor: pointer; } table > tr { &:first-child > td:nth-child(2) { position: relative; &::after { content: ""; position: absolute; top: 0; left: 0; right: 0; height: calc(var(--main-padding) * 2); background-image: linear-gradient( to bottom, var(--background-color), transparent ); z-index: 10; pointer-events: none; } } &:last-child > td { border-top: 1px; &:nth-child(2) { position: relative; > .field { position: absolute; left: 0; top: 0; bottom: 0; z-index: 10; display: flex; align-items: center; pointer-events: auto; font-size: var(--font-size-xs); line-height: var(--line-height-xs); text-transform: uppercase; background-color: var(--background-color); padding-left: var(--main-padding); padding-right: 0.25rem; &::after { content: ""; position: absolute; top: 0; bottom: 0; left: 100%; width: var(--main-padding); background-image: linear-gradient( to right, var(--background-color), transparent ); } } } } } td:last-child > .field { position: absolute; left: 0; z-index: 50; display: inline-flex; font-size: var(--font-size-xs); align-items: center; text-transform: uppercase; } tr:not(:last-child) > td:last-child > .field { top: 0; right: 0; gap: 0.375rem; background-color: var(--background-color); padding-left: 0.625rem; padding-top: 0.375rem; padding-bottom: 0.125rem; &::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 1rem; background-image: linear-gradient( to top, transparent, var(--background-color) ); } } > legend { top: auto; bottom: 1.8rem; left: calc(var(--main-padding) * -1); right: 50px; text-transform: uppercase; > div { padding-bottom: 0.375rem; button { color: var(--off-color); padding: 0.375rem 0.5rem; margin: -0.375rem 0; &:first-of-type { margin-left: -0.5rem; } } } } button.capture { position: absolute; bottom: 0.375rem; right: -0.75rem; z-index: 50; font-size: var(--font-size-xs); line-height: var(--line-height-xs); color: var(--off-color); } } }