section.analitics {
  width: 100%;
}
section.analitics .card {
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--card-shadow);
  padding: 20px 24px;
  margin-top: 24px;
}
section.analitics .card.menu {
  display: grid;
  grid-template-columns: minmax(7.25em, max-content) 1fr max-content;
  font-size: var(--font-small);
  color: var(--text-secondary);
  align-items: center;
  gap: 10px 12px;
}
section.analitics .card.menu > div {
  display: flex;
  gap: 4px;
}
section.analitics .card.menu > div:not(.controls):nth-child(even) {
  flex-wrap: wrap;
  grid-column: span 2;
}
section.analitics .card.menu > div:not(.controls):nth-child(even) > * {
  flex-shrink: 0;
}
section.analitics .card.menu .controls {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: subgrid;
  gap: inherit;
  grid-auto-rows: max-content;
  align-items: center;
}
section.analitics .card.menu .controls > :nth-child(even of :not(.clear)):not(:has(+ .clear)) {
  grid-column: span 2;
}
section.analitics .card.menu .controls tag-area {
  font-size: var(--font-base);
  color: var(--text-primary);
  border: 1px solid var(--border);
  padding-block: 3px;
  border-radius: var(--radius-sm);
  --tag-fg: var(--card-bg);
  --tag-bg: var(--brand-dark);
  --scroller: var(--text-secondary);
  --dropdown-bg: var(--card-bg);
  --line-height: 1.5;
}
section.analitics .card.menu .controls super-radio {
  --selection-text: var(--main-fg);
  --selection-color: color-mix(in oklab, var(--main-bg-blue), var(--menu-bg) 80%);
}
section.analitics .card.menu .controls select {
  background-color: var(--menu-bg);
  border: 1px solid var(--subtitle-fg);
  border-radius: 3px;
  line-height: 1;
  padding: 0.25em 0.5ch;
}
section.analitics .card.menu .controls input[type="checkbox"] {
  accent-color: var(--brand-dark);
  margin-right: 0.5ch;
}
section.analitics .card.menu .controls > label {
  align-self: center;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: none;
  background-color: transparent;
  color: var(--text-secondary);
}
section.analitics .card.menu .controls > label:has(+ .radio) {
  padding-bottom: 0.5em;
}
section.analitics .card.menu .controls label:has(+ [hidden]) {
  display: none;
}
section.analitics .card.menu .controls .radio {
  display: flex;
  flex-wrap: wrap;
  justify-content: start;
  gap: 0.5em;
  padding-bottom: 0.5em;
}
section.analitics .card.menu .controls .radio:has( + :not(:empty)) {
  border-bottom: 1px solid var(--border);
}
section.analitics .card.menu .controls .radio label {
  user-select: none;
  -webkit-user-select: none;
  cursor: pointer;
}
section.analitics .card.menu .controls .radio input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
section.analitics .card.menu .controls .radio input:checked + label {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--card-bg);
}
section.analitics .card.menu .controls .words {
  grid-column: 2 / 4;
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
section.analitics .card.menu .controls .words:empty {
  display: none;
}
section.analitics .card.menu .controls .words > * {
  line-height: 1;
  padding: 4px 8px;
  cursor: pointer;
}
section.analitics .card.menu .controls .words > span {
  border-radius: 100vw;
}
section.analitics .card.menu .controls .words > span:hover {
  background-color: var(--bg-secondary);
}
section.analitics .card.menu .controls .words > span.checked {
  color: var(--card-bg);
  background-color: var(--brand-dark);
}
section.analitics .card.menu .controls .words > a {
  color: var(--brand-dark) !important;
  text-decoration: underline;
  background-color: transparent !important;
  border: none !important;
  cursor: pointer;
}
section.analitics .card.menu .controls .words > a ~ span {
  display: none;
}
section.analitics .card.menu .controls .clear {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: var(--bg-secondary);
  cursor: pointer;
}
section.analitics .card.menu .controls .clear::after {
  content: "×";
  font-size: var(--font-base);
  line-height: 1;
  padding-bottom: 1px;
  transition-property: color, background-color;
  transition-duration: 150ms;
}
section.analitics .card.menu .controls .clear:hover {
  background-color: var(--accent-danger);
  color: var(--card-bg);
}
section.analitics .card.menu .controls [hidden] + .clear {
  display: none;
}
section.analitics .card.menu a,
section.analitics .card.menu a:visited,
section.analitics .card.menu a:active {
  text-decoration: none;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  font-weight: 500;
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  color: var(--text-primary);
  cursor: pointer;
  transition: border-color 150ms;
}
section.analitics .card.menu a:not([data-title]):hover,
section.analitics .card.menu a:not([data-title]):focus-visible {
  border-color: var(--brand-dark);
}
section.analitics .card.menu a[data-title] {
  opacity: 0.5;
}
section.analitics .card.menu a:not([href]):not([data-title]) {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--card-bg);
  cursor: default;
}
section.analitics .card.menu input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
}
section.analitics .card.menu label {
  position: relative;
  padding: 5px 12px;
  border-radius: var(--radius-sm);
  font-weight: 500;
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  color: var(--text-primary);
  text-align: center;
  cursor: pointer;
  transition-property: border-color, background-color, color;
  transition-duration: 150ms;
}
section.analitics .card.menu label:not([data-title]):hover,
section.analitics .card.menu label:not([data-title]):focus-visible {
  border-color: var(--brand-dark);
}
section.analitics .card.menu label:has(input[type="radio"]:checked),
section.analitics .card.menu label.current {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--card-bg);
  cursor: default;
}
section.analitics .card.menu label[data-region=""]:not(:first-child) {
  cursor: default;
  opacity: 0.5;
}
section.analitics .card.menu .timespan {
  display: flex;
  gap: 4px;
  align-items: center;
  position: relative;
  user-select: none;
  -webkit-user-select: none;
  cursor: pointer;
}
section.analitics .card.menu .timespan.inactive {
  filter: saturate(0);
  cursor: default !important;
}
section.analitics .card.menu .timespan > span {
  color: var(--text-primary);
  padding: 5px 8px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
}
section.analitics .card.menu .calendars {
  position: absolute;
  z-index: 100;
  left: 100%;
  top: calc(100% + 2px);
  transform-origin: top left;
  scale: 0;
  transition: scale 150ms ease-out, left 150ms ease-out;
  display: grid;
  grid-template-columns: 1fr min-content 1fr;
  gap: 1ch;
  padding: 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background-color: var(--card-bg);
  box-shadow: var(--card-shadow-hover);
}
section.analitics .card.menu .calendars > .calendar + .calendar {
  order: 2;
}
section.analitics .card.menu .calendars.open {
  scale: 1;
  left: 0;
}
section.analitics .card.menu .calendars::before {
  content: "";
  order: 1;
  border-left: 1px solid var(--border);
}
section.analitics .card.menu .calendars > .manual {
  order: 4;
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 1ch;
}
section.analitics .card.menu .calendars > .manual input {
  width: 14ch;
  padding: 5px 12px;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background-color: transparent;
  line-height: 1.5;
}
section.analitics .card.menu .calendars > .manual input.invalid {
  background-color: rgb(from var(--accent-danger) r g b / 8%);
}
section.analitics .card.menu .calendars > .manual button {
  margin-left: auto;
  border: none;
  border-radius: var(--radius-sm);
  background-color: var(--brand-dark);
  color: var(--card-bg);
  padding: 5px 12px;
  line-height: 1.5;
  cursor: pointer;
}
section.analitics .card.menu .calendars::after {
  content: "";
  order: 3;
  grid-column: 1 / -1;
  border-top: 1px solid var(--border);
}
section.analitics .card.menu .calendar {
  align-self: start;
  display: grid;
  grid-template-columns: repeat(7, 2em);
  grid-auto-rows: 2em;
}
section.analitics .card.menu .calendar > span {
  display: flex;
  align-items: center;
  justify-content: center;
  font-variant: small-caps;
  transition: background-color 200ms linear;
  border-radius: 4px;
}
section.analitics .card.menu .calendar > span:nth-of-type(7n + 6),
section.analitics .card.menu .calendar > span:nth-of-type(7n + 7) {
  color: var(--brand-red);
}
section.analitics .card.menu .calendar > span:nth-of-type(n + 8):hover {
  background-color: rgb(from var(--brand-dark) r g b / 10%);
  cursor: pointer;
}
section.analitics .card.menu .calendar > span.other {
  opacity: 0.5;
}
section.analitics .card.menu .calendar > span.current {
  background-color: rgb(from var(--accent-warning) r g b / 15%);
  font-weight: 500;
}
section.analitics .card.menu .calendar > span.current:hover {
  background-color: rgb(from var(--accent-warning) r g b / 35%);
}
section.analitics .card.menu .calendar > div {
  grid-column: 1 / -1;
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 1ch;
}
section.analitics .card.menu .calendar > div > span {
  background-color: var(--brand-dark);
  color: var(--card-bg);
  font-weight: 500;
  font-variant: small-caps;
  border-radius: 4px;
  padding: 3px 6px;
}
section.analitics .card.menu .calendar > div > div {
  width: 1.5em;
  height: 1.5em;
  position: relative;
  border-radius: 4px;
  cursor: pointer;
}
section.analitics .card.menu .calendar > div > div:hover {
  background-color: rgb(from var(--brand-dark) r g b / 10%);
}
section.analitics .card.menu .calendar > div > div::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 40%;
  height: 40%;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform-origin: center;
  transform: translate(-25%, -40%) rotate(45deg);
}
section.analitics .card.menu .calendar > div > div:last-child::before {
  transform: translate(-75%, -40%) rotate(-135deg);
}
section.analitics .card.menu .steptime.inactive label[data-title] {
  opacity: 0.5;
}
section.analitics .card.graph {
  display: flex;
  flex-direction: column;
  padding: 0;
}
section.analitics .card.graph .header {
  padding: 20px 24px;
  display: flex;
  align-items: center;
  gap: 12px;
  font-size: 15px;
  font-weight: 600;
  color: var(--text-primary);
  border-bottom: 1px solid var(--border);
}
section.analitics .card.graph .header .ico {
  position: relative;
  width: 48px;
  height: 48px;
  background: linear-gradient(135deg, var(--brand-red), var(--brand-dark));
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: var(--radius);
}
section.analitics .card.graph .header .ico svg {
  width: 24px;
  height: 24px;
  object-fit: contain;
  fill: none;
  stroke: var(--card-bg);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
section.analitics .card.graph .header .ico > div {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  visibility: hidden;
}
section.analitics .card.graph .header .ico > div > span {
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: var(--card-bg);
  animation: waveform 1s ease-in-out infinite;
}
section.analitics .card.graph .header .ico > div > span:nth-child(2) {
  animation-delay: 150ms;
}
section.analitics .card.graph .header .ico > div > span:nth-child(3) {
  animation-delay: 300ms;
}
section.analitics .card.graph .header .ico > div > span:nth-child(4) {
  animation-delay: 450ms;
}
section.analitics .card.graph .header .ico > div > span:nth-child(5) {
  animation-delay: 600ms;
}
section.analitics .card.graph .header button:nth-child(1 of [data-action]) {
  margin-left: auto;
}
section.analitics .card.graph .header label.checkbox {
  margin-left: auto;
}
section.analitics .card.graph .header [data-action="custom_colors"] > div {
  top: calc(100% + 2px);
  right: 0;
  left: auto;
  bottom: auto;
  padding: 6px;
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  box-shadow: var(--card-shadow);
  transform-origin: top right;
  display: grid;
  grid-template-columns: auto;
  gap: 2px;
  color: var(--text-primary);
}
section.analitics .card.graph .header [data-action="custom_colors"] > div.open {
  visibility: visible;
  animation: showup 300ms ease-out;
}
section.analitics .card.graph .header [data-action="custom_colors"] > div > label {
  padding: 4px 8px;
  display: flex;
  align-items: center;
  cursor: pointer;
  position: relative;
  background-color: var(--card-bg);
  border-radius: 4px;
  transition: background-color 150ms;
}
section.analitics .card.graph .header [data-action="custom_colors"] > div > label:hover {
  background-color: var(--bg-secondary);
}
section.analitics .card.graph .header [data-action="custom_colors"] > div > label::before {
  content: "";
  height: 1.2em;
  width: 1.2em;
  border: 1px solid currentColor;
  border-radius: 50%;
  background-color: var(--color);
}
section.analitics .card.graph .header [data-action="custom_colors"] > div > label::after {
  content: attr(data-label);
  white-space: nowrap;
  line-height: 1;
  padding-left: 0.25em;
}
section.analitics .card.graph .header [data-action="custom_colors"] > div > label input {
  height: 1px;
  width: 1px;
  opacity: 0;
  position: absolute;
  left: 0;
  bottom: 0;
}
section.analitics .card.graph .header [data-action="custom_colors"] > div:has( > :nth-child(6)) {
  grid-template-columns: repeat(2, auto);
}
section.analitics .card.graph .header [data-action="custom_colors"] > div:has( > :nth-child(11)) {
  grid-template-columns: repeat(3, auto);
}
section.analitics .card.graph .header [data-action="downdata"] {
  line-height: 1.5;
}
section.analitics .card.graph .header [data-action="downdata"].running .steps {
  display: none;
}
section.analitics .card.graph .header [data-action="downdata"] .steps {
  position: absolute;
  top: calc(100% + 2px);
  right: 0;
  left: auto;
  bottom: auto;
  padding: 6px;
  background-color: var(--card-bg);
  border: 1px solid var(--border);
  box-shadow: var(--card-shadow);
  display: grid;
  grid-template-columns: 5em 5em;
  gap: 2px;
  cursor: default;
  visibility: hidden;
  transform-origin: top right;
  z-index: 100;
}
section.analitics .card.graph .header [data-action="downdata"] .steps.open {
  visibility: visible;
  animation: showup 300ms ease-out;
}
section.analitics .card.graph .header [data-action="downdata"] .steps input {
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 1px;
  opacity: 0;
}
section.analitics .card.graph .header [data-action="downdata"] .steps input:checked + label {
  background-color: var(--brand-dark);
  color: var(--card-bg);
}
section.analitics .card.graph .header [data-action="downdata"] .steps label {
  justify-self: stretch;
  text-align: center;
  border-radius: var(--radius-sm);
  padding-block: 2px;
  border: 1px solid var(--border);
  cursor: pointer;
}
section.analitics .card.graph .header [data-action="downdata"] .steps span {
  grid-column: span 2;
  text-align: center;
  animation: none;
  background-color: transparent;
  width: auto;
  aspect-ratio: unset;
}
section.analitics .card.graph .header [data-action="downdata"] .steps span:last-child {
  border-radius: var(--radius-sm);
  background-color: var(--brand-dark);
  padding-block: 4px;
  margin-top: 2px;
  color: white;
  cursor: pointer;
}
section.analitics .card.graph .header label.checkbox {
  font-size: 0.9em;
}
section.analitics .card.graph.working .header .ico svg {
  visibility: hidden;
}
section.analitics .card.graph.working .header .ico > div {
  visibility: visible;
}
section.analitics .card.graph.working .canvas {
  opacity: 0.7;
}
section.analitics .card.graph .content {
  padding: 20px 24px;
  box-sizing: content-box;
  position: relative;
}
section.analitics .card.graph .canvas {
  position: relative;
  width: 100%;
  aspect-ratio: 2;
}
section.analitics .card.graph canvas {
  width: 100%;
  height: 100%;
}
section.analitics .card.graph[data-card="analitics_mean"] .canvas,
section.analitics .card.graph[data-card="analitics_down"] .canvas,
section.analitics .card.graph[data-card="analitics_errcnt"] .canvas,
section.analitics .card.graph[data-card="analitics_regions"] .canvas,
section.analitics .card.graph[data-card="analitics_bow"] .canvas {
  aspect-ratio: unset;
  height: 100%;
}
section.analitics .card.graph .zoomout {
  position: absolute;
  right: 0;
  top: 0;
  width: 1.25em;
  height: 1.25em;
  cursor: pointer;
  background-image: url(/img/zoomout.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  user-select: none;
  -webkit-user-select: none;
  opacity: 0.5;
  transition: opacity 150ms;
}
section.analitics .card.graph .zoomout:hover {
  opacity: 1;
}
section.analitics .card table {
  margin: 0 auto;
  border-collapse: collapse;
}
section.analitics .card td {
  text-align: center;
  border-bottom: 1px solid var(--subtitle-fg);
}
section.analitics .card td:first-child {
  text-align: right;
  padding-right: 1em;
}
section.analitics .card td em {
  display: inline-block;
  font-size: 80%;
  font-weight: normal;
  line-height: 1.5;
  padding: 0 0.5em;
  border-radius: 100vw;
  background-color: color-mix(in oklab, var(--main-bg-blue), var(--menu-bg) 80%);
  color: var(--main-fg);
}
section.analitics .card th:not(:empty) {
  padding: 0 0.5em;
}
section.analitics .card th:not(:empty)::before {
  content: "";
  display: inline-block;
  width: 0.75em;
  height: 0.75em;
  border-radius: 50%;
  background-color: var(--color);
  margin-right: 0.5em;
}
section.analitics .card tr.part td {
  padding-top: 1em;
}
section.analitics button {
  position: relative;
  padding: 7px;
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  background: var(--bg-secondary);
  color: var(--text-secondary);
  cursor: pointer;
  box-shadow: none;
  transition-property: border-color, background-color, color;
  transition-duration: 150ms;
}
section.analitics button svg {
  width: 16px;
  height: 16px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}
section.analitics button.inactive {
  opacity: 0.5;
}
section.analitics button:not(.inactive):hover,
section.analitics button:not(.inactive):focus-visible {
  border-color: var(--brand-dark);
}
section.analitics button > div {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
  visibility: hidden;
}
section.analitics button > div > span {
  width: 10%;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: currentColor;
  animation: waveform 1s ease-in-out infinite;
}
section.analitics button > div > span:nth-child(2) {
  animation-delay: 150ms;
}
section.analitics button > div > span:nth-child(3) {
  animation-delay: 300ms;
}
section.analitics button > div > span:nth-child(4) {
  animation-delay: 450ms;
}
section.analitics button > div > span:nth-child(5) {
  animation-delay: 600ms;
}
section.analitics button.running {
  background-color: var(--brand-dark);
  border-color: var(--brand-dark);
  color: var(--card-bg);
}
section.analitics button.running > svg {
  visibility: hidden;
}
section.analitics button.running > div {
  visibility: visible;
}
#selection {
  position: fixed;
}
#selection::before {
  content: "";
  position: absolute;
  inset: 0;
  border-left: 2px solid var(--chart2);
  border-right: 2px solid var(--chart2);
  opacity: 0.5;
}
#selection::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--chart2);
  opacity: 0.25;
}
.notabene p {
  margin-block: 2px;
}
@keyframes waveform {
  0%,
  100% {
    transform: scaleY(1);
    opacity: 0.4;
  }
  50% {
    transform: scaleY(4);
    opacity: 1;
  }
}
@keyframes hourglass {
  0% {
    stroke-dasharray: 50 50;
    stroke-dashoffset: 33.5;
  }
  50% {
    stroke-dasharray: 42 58;
    stroke-dashoffset: -20.5;
  }
  100% {
    stroke-dasharray: 50 50;
    stroke-dashoffset: -66.5;
  }
}
@media (max-width: 600px) {
  section.analitics .card.menu > div:nth-child(odd) {
    align-self: center;
  }
  section.analitics .card.menu > div:nth-child(2) a {
    grid-column: span 2;
  }
  section.analitics .card.menu > div:nth-child(2) a:nth-child(-n + 2) {
    grid-column: span 3;
  }
  section.analitics .card.menu > div:nth-child(4):has( > :nth-child(4)) {
    display: grid;
    grid-auto-columns: max-content;
    grid-template-rows: repeat(2, max-content);
    grid-auto-flow: column;
    justify-content: start;
  }
  section.analitics .card.menu > div:nth-child(6):has( > :nth-child(4)) {
    display: grid;
    grid-auto-columns: max-content;
    grid-template-rows: repeat(2, max-content);
    grid-auto-flow: column;
    justify-content: start;
  }
  section.analitics .card.menu .calendars {
    left: 50%;
    transform: translateX(-50%);
  }
  section.analitics .card.menu .calendars.open {
    left: 30%;
  }
}
@media (max-width: 450px) {
  section.analitics .card {
    padding: 0.5em 0.75em;
  }
  section.analitics .card.menu {
    gap: 0.5em 0.25em;
  }
  section.analitics .card .header .checkbox {
    flex-direction: column;
  }
}
