@keyframes shift_bg {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 51px 0;
  }
}
*,
*::before,
::after {
  box-sizing: border-box;
}
html {
  font-family: SairaSemiCondensed, NotoSansSymbols2, sans-serif;
  background: #191410;
  color: whitesmoke;
}
body {
  padding: 0;
  margin: 0;
  font-size: 18px;
  line-height: 1.15;
}
h1,
h2,
h3,
h4 {
  margin: 0.5em 0;
}
h1:first-child,
h2:first-child,
h3:first-child,
h4:first-child {
  margin-top: 0;
}
figure {
  margin: 0;
}
a {
  cursor: pointer;
}
h4 {
  font-size: 18px;
}
label {
  cursor: pointer;
  position: relative;
}
input[type=text] {
  font-family: SairaSemiCondensed, sans-serif;
  font-size: 16px;
  padding: 0 1ch;
  background: transparent;
  border: 1px solid rgba(208, 92, 59, 0.3);
  color: white;
  transition: 300ms;
}
input[type=text]:focus {
  border: 1px solid #F39058;
  box-shadow: 0 0 2px 3px rgba(208, 92, 59, 0.3);
  background: rgba(255, 255, 255, 0.05);
  outline: none;
}
input[type=text]:disabled {
  border-color: transparent;
}
textarea {
  flex: 1 1 100%;
  background: rgba(0, 0, 0, 0.5);
  color: white;
  border: none;
  margin: 2px;
  padding: 1em;
  border: 1px solid rgba(208, 92, 59, 0.3);
  outline: none;
  resize: none;
  transition: 300ms;
}
textarea:focus {
  box-shadow: 0 0 2px 3px rgba(208, 92, 59, 0.3) inset;
  border-color: #F39058;
}
input::placeholder {
  font-family: SairaSemiCondensed, sans-serif;
}
input::placeholder {
  font-size: 16px;
}
.selector {
  position: relative;
  cursor: pointer;
  z-index: 600;
}
.selector + .selector {
  margin-top: 10px;
}
.selector > .selected {
  display: flex;
  box-shadow: 0 0 0 1px rgba(208, 92, 59, 0.3) inset;
  background: rgba(255, 255, 255, 0.05);
  padding: 0.5ch 1ch;
}
.selector > .selected .controls {
  margin-left: auto;
}
.selector .hint {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3em;
  pointer-events: none;
  opacity: 0.35;
  font: 0.8em;
}
.selector.expanded {
  box-shadow: 0 0 5px 5px rgba(208, 92, 59, 0.3);
  z-index: 850;
}
.selector.expanded > .selected {
  display: flex;
  box-shadow: 0 0 0 1px rgba(243, 144, 88, 0.5) inset;
}
.selector.expanded > .selected > .filter {
  display: flex;
}
.selector.expanded > .selected > .filter ~ .value {
  display: none;
}
.selector.expanded > .selected > .filter ~ .default {
  display: none;
}
.selector.expanded > .selected > .controls > .toggle::before {
  transform: rotate(-45deg);
}
.selector.expanded > .selected > .controls > .toggle::after {
  transform: rotate(45deg);
}
.selector.expanded > .options {
  display: flex;
  box-shadow: 0 0 0 1px rgba(208, 92, 59, 0.65) inset, 0 0 5px 5px rgba(208, 92, 59, 0.3);
}
.selector > .selected {
  display: flex;
  gap: 1ch;
  transition: 300ms;
}
.selector > .selected > * {
  flex: 1;
}
.selector > .selected > .controls {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  padding-right: 5px;
  gap: 5px;
}
.selector > .selected > .controls a {
  cursor: pointer;
  display: flex;
  height: 1.15em;
  aspect-ratio: 1 / 1;
  line-height: 0;
  justify-content: center;
  align-items: center;
}
.selector > .selected > .controls a.inactive {
  visibility: hidden;
}
.selector > .selected > .controls .reset::before {
  content: '🞬';
}
.selector > .selected > .controls .reset:hover::before {
  color: #F39058;
}
.selector > .selected > .controls .toggle {
  min-width: 22px;
  min-height: 22px;
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
}
.selector > .selected > .controls .toggle::before,
.selector > .selected > .controls .toggle::after {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  height: 2px;
  background: var(--deco-color, white);
  width: 11px;
  transition: 300ms;
}
.selector > .selected > .controls .toggle::before {
  right: calc(50% - 2px);
  transform: rotate(45deg);
}
.selector > .selected > .controls .toggle::after {
  left: calc(50% - 2px);
  transform: rotate(-45deg);
}
.selector > .selected > .filter {
  display: none;
  height: 22px;
}
.selector > .selected > .filter input {
  border: none;
  width: 100%;
  padding: 0;
  height: 100%;
  width: 0;
  flex: 1 0 100%;
}
.selector > .selected > .filter input:focus {
  box-shadow: none;
  border: none;
  outline: none;
  background: transparent;
}
.selector > .selected > .value {
  display: flex;
  flex: 1 0 0;
  align-items: center;
}
.selector > .selected > .value:empty {
  display: none;
}
.selector > .selected > .value:not(:empty) + .default {
  display: none;
}
.selector > .selected > .value .spinner {
  width: 100%;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}
@keyframes spin {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.selector > .selected > .value .spinner::before {
  content: '';
  width: 15px;
  height: 15px;
  border: 3px solid rgba(255, 255, 255, 0.45);
  border-left-color: white;
  border-radius: 100%;
  animation: spin 3s linear infinite;
}
.selector > .selected > .default {
  display: flex;
  flex: 1 0 auto;
  justify-content: center;
  align-items: center;
  font-variant: small-caps;
}
.selector > .options {
  position: absolute;
  z-index: 400;
  left: 0;
  top: calc(100% + 1px);
  box-shadow: 0 0 0 1px rgba(208, 92, 59, 0.3) inset;
  background: #302B28;
  transition: 300ms;
  max-height: 320px;
  width: 100%;
  overflow: hidden;
  flex-direction: column;
  color: white;
  display: none;
}
.selector > .options.inline {
  max-height: 50vh;
  position: relative;
  top: auto;
  display: flex;
}
.selector > .options.inline > * {
  padding: 0;
}
.selector > .options.reversed {
  top: auto;
  bottom: calc(100% + 1px);
}
.selector > .options > * {
  padding: 0.5ch 2ch;
  cursor: pointer;
  white-space: nowrap;
}
.selector > .options > [data-idx] {
  position: relative;
}
.selector > .options > [data-idx]::after {
  content: attr(data-idx);
  right: 10px;
  top: 50%;
  transform: translate(0, -50%);
  position: absolute;
  color: white;
  background: #25201C;
  border-radius: 3px;
  font-size: 11px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  box-shadow: 0 0 0 1px rgba(208, 92, 59, 0.65);
}
.selector > .options [disabled] {
  opacity: 0.5;
  pointer-events: none;
  transform: scale(0.9);
  transform-origin: left center;
}
.selector > .options [disabled]::after {
  display: none;
}
.selector > .options [selected] {
  color: #F39058;
  background: rgba(255, 255, 255, 0.05);
}
.selector > .options .filtered {
  display: none;
}
.selector > .options > :hover {
  background: rgba(255, 255, 255, 0.075);
}
@font-face {
  font-family: Inconsolata;
  font-display: swap;
  src: url("/assets/fonts/Inconsolata-Regular.woff2") format("woff2"), url("/assets/fonts/Inconsolata-Regular.woff") format("woff"), url("/assets/fonts/Inconsolata-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Inconsolata;
  font-display: swap;
  src: url("/assets/fonts/Inconsolata-Medium.woff2") format("woff2"), url("/assets/fonts/Inconsolata-Medium.woff") format("woff"), url("/assets/fonts/Inconsolata-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: NotoSansSymbols2;
  font-display: swap;
  src: url("/assets/fonts/NotoSansSymbols2-Regular.woff2") format("woff2"), url("/assets/fonts/NotoSansSymbols2-Regular.woff") format("woff"), url("/assets/fonts/NotoSansSymbols2-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: SairaSemiCondensed;
  font-display: swap;
  src: url("/assets/fonts/SairaSemiCondensed-Regular.woff2") format("woff2"), url("/assets/fonts/SairaSemiCondensed-Regular.woff") format("woff"), url("/assets/fonts/SairaSemiCondensed-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: SairaSemiCondensed;
  font-display: swap;
  src: url("/assets/fonts/SairaSemiCondensed-Medium.woff2") format("woff2"), url("/assets/fonts/SairaSemiCondensed-Medium.woff") format("woff"), url("/assets/fonts/SairaSemiCondensed-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: SairaSemiCondensed;
  font-display: swap;
  src: url("/assets/fonts/SairaSemiCondensed-SemiBold.woff2") format("woff2"), url("/assets/fonts/SairaSemiCondensed-SemiBold.woff") format("woff"), url("/assets/fonts/SairaSemiCondensed-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
@font-face {
  font-family: Saira;
  font-display: swap;
  src: url("/assets/fonts/Saira-Regular.woff2") format("woff2"), url("/assets/fonts/Saira-Regular.woff") format("woff"), url("/assets/fonts/Saira-Regular.ttf") format("truetype");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: Saira;
  font-display: swap;
  src: url("/assets/fonts/Saira-Medium.woff2") format("woff2"), url("/assets/fonts/Saira-Medium.woff") format("woff"), url("/assets/fonts/Saira-Medium.ttf") format("truetype");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: Saira;
  font-display: swap;
  src: url("/assets/fonts/Saira-SemiBold.woff2") format("woff2"), url("/assets/fonts/Saira-SemiBold.woff") format("woff"), url("/assets/fonts/Saira-SemiBold.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}
body {
  display: grid;
  grid-template-columns: 68px calc(100vw - 68px);
  height: 100vh;
  grid-template-rows: 51px calc(100vh - 72px) 20px;
}
body.grabbing {
  cursor: grabbing;
}
body > header {
  grid-column: 1 / 3;
  background: rgba(0, 0, 0, 0.15);
  border-bottom: 1px solid #31241F;
  display: flex;
  align-items: center;
  padding-right: 10px;
  justify-content: space-between;
  position: relative;
  z-index: 600;
}
body > header .logo {
  padding: 15px;
  height: 50px;
  display: flex;
}
body > header .logo img {
  position: relative;
  top: 3px;
  height: 100%;
}
body > header .characters {
  display: flex;
  gap: 0.5rem;
  position: relative;
  align-items: center;
  font-size: 14px;
  transition: 300ms;
}
body > header .characters.reloading {
  opacity: 0.5;
  pointer-events: none;
}
body > header .characters img {
  max-height: 40px;
}
body > header .characters > img {
  border: 2px solid rgba(243, 144, 88, 0.5);
  margin-left: auto;
}
body > header .characters a {
  cursor: pointer;
  position: relative;
  margin-left: 0.5rem;
}
body > header .characters a > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
body > header .characters a > .title > span:not(.tip)::before {
  content: ' • ';
}
body > header .characters a > .title > span:nth-child(2) {
  font-weight: 700;
}
body > header .characters a > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
body > header .characters a > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
body > header .characters a > .title:has( > .tip ) {
  justify-content: center;
}
body > header .characters a[data-title]::after,
body > header .characters a > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  right: 0;
  left: auto;
  bottom: auto;
}
body > header .characters a:hover::after,
body > header .characters a:hover > .title {
  opacity: 1;
}
body > header .characters .icon-iface {
  filter: grayscale(100%);
  transition: 300ms;
  opacity: 0.65;
}
body > header .characters .icon-iface:hover {
  filter: grayscale(0);
  opacity: 1;
}
body > header .characters > .extended {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  --cut-bg: #25201C;
  --cut-border-color: #F39058;
  position: absolute;
  right: 0;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  white-space: nowrap;
  padding: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: 300ms;
}
body > header .characters > .extended::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
body > header .characters > .extended::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
body > header .characters > .extended::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
body > header .characters > .extended::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='%23F39058' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
body > header .characters > .extended > * {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
body > header .characters > .extended span img {
  border: 2px solid rgba(243, 144, 88, 0.5);
}
body > header .characters > .extended span {
  flex: 1 0 auto;
}
body > header .characters > .extended > a {
  margin-top: 1rem;
}
body > header .characters > .extended > a img {
  border: 1px solid rgba(243, 144, 88, 0.5);
}
body > header .characters:hover > .extended {
  opacity: 1;
  pointer-events: auto;
}
body > footer {
  grid-column: 1 / 3;
  background: rgba(0, 0, 0, 0.15);
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  text-align: center;
  color: rgba(255, 255, 255, 0.35);
  padding: 0 0.25rem;
  position: relative;
}
body > footer > * {
  flex: 0 1 0;
  white-space: nowrap;
}
body > footer > :first-child,
body > footer > :last-child {
  position: absolute;
}
body > footer > :first-child {
  left: 10px;
}
body > footer > :last-child {
  right: 10px;
}
body > aside {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  position: relative;
  z-index: 500;
  background: rgba(0, 0, 0, 0.15);
  border-right: 1px solid #4E281C;
  padding-bottom: 10px;
}
body > aside > .info {
  margin-top: 2rem;
  font-size: 14px;
  width: 100%;
  text-align: center;
  color: rgba(255, 255, 255, 0.35);
}
body > aside > .extra {
  margin-top: auto;
  position: relative;
}
body > aside > .extra > div {
  position: absolute;
  left: 100%;
  bottom: 0;
  border: 1px solid red;
  pointer-events: none;
  opacity: 0;
  transition: 300ms;
  border: 2px solid rgba(208, 92, 59, 0.65);
  background: #15110E;
  border-radius: 3px;
}
body > aside > .extra.active::after {
  display: none;
}
body > aside > .extra.active > div {
  opacity: 1;
  pointer-events: auto;
}
body > aside .pane [data-title] {
  padding: 5px 10px;
}
body > aside .pane [data-title]:first-child {
  padding-top: 10px;
}
body > aside .pane [data-title]:last-child {
  padding-bottom: 10px;
}
body > aside [data-title] {
  cursor: pointer;
  position: relative;
  padding: 10px;
  display: flex;
  align-items: center;
  transition: 300ms;
}
body > aside [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
body > aside [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
body > aside [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
body > aside [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
body > aside [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
body > aside [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
body > aside [data-title][data-title]::after,
body > aside [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(0, -50%);
}
body > aside [data-title]:hover::after,
body > aside [data-title]:hover > .title {
  opacity: 1;
}
body > aside [data-title]::before {
  content: '';
  position: absolute;
  right: 0;
  width: 3px;
  height: 0;
  background: #D05C3B;
  transition: 300ms;
  opacity: 0.65;
}
body > aside [data-title] > span {
  width: 48px;
  filter: grayscale(100%);
  opacity: 0.85;
  transition: 300ms;
}
body > aside [data-title].active {
  background: rgba(208, 92, 59, 0.3);
}
body > aside [data-title]:hover::before {
  height: 50%;
}
body > aside [data-title]:hover::after {
  opacity: 1;
}
body > aside [data-title]:hover > span {
  opacity: 1;
  filter: grayscale(50%);
}
body > aside [data-title].active::hover {
  height: 100%;
}
body > aside [data-title].active > span {
  opacity: 1;
  filter: grayscale(0);
}
body > main {
  border-bottom: 1px solid #31241F;
  border-left: 1px solid #31241F;
  position: relative;
  z-index: 400;
  grid-column: 1 / 3;
}
body > aside + main {
  grid-column: auto;
}
body > main > section {
  height: 100%;
  display: none;
}
body > main > section[active] {
  display: var(--display);
}
body > .modal {
  position: fixed;
  padding: 3vh;
  overflow: hidden;
  background: rgba(0, 0, 0, 0.85);
}
body > .modal > * {
  border: 3px solid rgba(208, 92, 59, 0.3);
  border-radius: 10px / 5px;
  display: flex;
  flex-direction: column;
  z-index: 800;
  background: #191410;
}
body > .modal > * > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-variant: small-caps;
  padding: 0.5rem 1rem;
  background: #25201C;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  flex: 0 0 min-content;
}
body > .modal > * > header h3 {
  margin: 0;
}
body > .modal > * > header button {
  min-width: 90px;
}
body > .modal > * header ~ * {
  flex: 1 0 0;
}
/*d33dcbfe9ed4121e326dd30c2adf60a0*/
/* This section is autogenerated*/
.icon-g::before {
  content: '';
  display: block;
  background: url('/static/assets/icons/groups.png');
}
.icon-g.g-no_icon::before {
  background-position: 0px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-98::before {
  background-position: -16px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-97::before {
  background-position: -32px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-96::before {
  background-position: -48px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-92::before {
  background-position: -64px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-90::before {
  background-position: -80px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-89::before {
  background-position: -96px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-86::before {
  background-position: -112px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-84::before {
  background-position: -128px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-83::before {
  background-position: -144px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-82::before {
  background-position: -160px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-81::before {
  background-position: -176px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-80::before {
  background-position: -192px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-79::before {
  background-position: -208px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-77::before {
  background-position: -224px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-76::before {
  background-position: -240px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-74::before {
  background-position: -256px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-72::before {
  background-position: -272px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-70::before {
  background-position: -288px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-69::before {
  background-position: -304px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-68::before {
  background-position: -320px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-404::before {
  background-position: -336px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3955::before {
  background-position: -352px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3953::before {
  background-position: -368px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3952::before {
  background-position: -384px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3948::before {
  background-position: -400px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3947::before {
  background-position: -416px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3946::before {
  background-position: -432px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-389::before {
  background-position: -448px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-387::before {
  background-position: -464px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-386::before {
  background-position: -480px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-384::before {
  background-position: -496px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-381::before {
  background-position: -512px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-379::before {
  background-position: -528px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-376::before {
  background-position: -544px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3755::before {
  background-position: -560px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3751::before {
  background-position: -576px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3736::before {
  background-position: -592px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3722::before {
  background-position: -608px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3721::before {
  background-position: -624px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-371::before {
  background-position: -640px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-370::before {
  background-position: -656px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-366::before {
  background-position: -672px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-365::before {
  background-position: -688px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3646::before {
  background-position: -704px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3641::before {
  background-position: -720px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3636::before {
  background-position: -736px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3631::before {
  background-position: -752px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-361::before {
  background-position: -768px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-360::before {
  background-position: -784px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-356::before {
  background-position: -800px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-355::before {
  background-position: -816px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-352::before {
  background-position: -832px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-350::before {
  background-position: -848px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-349::before {
  background-position: -864px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-34::before {
  background-position: -880px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3346::before {
  background-position: -896px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3345::before {
  background-position: -912px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3335::before {
  background-position: -928px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3303::before {
  background-position: -944px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3302::before {
  background-position: -960px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-33::before {
  background-position: -976px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3283::before {
  background-position: -992px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3282::before {
  background-position: -1008px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3281::before {
  background-position: -1024px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3278::before {
  background-position: -1040px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3260::before {
  background-position: -1056px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3256::before {
  background-position: -1072px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3241::before {
  background-position: -1088px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3240::before {
  background-position: -1104px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3237::before {
  background-position: -1120px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3235::before {
  background-position: -1136px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3233::before {
  background-position: -1152px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3229::before {
  background-position: -1168px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3228::before {
  background-position: -1184px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3227::before {
  background-position: -1200px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3226::before {
  background-position: -1216px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3222::before {
  background-position: -1232px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3220::before {
  background-position: -1248px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3219::before {
  background-position: -1264px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3217::before {
  background-position: -1280px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3216::before {
  background-position: -1296px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3215::before {
  background-position: -1312px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3214::before {
  background-position: -1328px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3213::before {
  background-position: -1344px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3212::before {
  background-position: -1360px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3211::before {
  background-position: -1376px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3210::before {
  background-position: -1392px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3203::before {
  background-position: -1408px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3202::before {
  background-position: -1424px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3201::before {
  background-position: -1440px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3200::before {
  background-position: -1456px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3198::before {
  background-position: -1472px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3197::before {
  background-position: -1488px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3196::before {
  background-position: -1504px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3195::before {
  background-position: -1520px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3194::before {
  background-position: -1536px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3193::before {
  background-position: -1552px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3074::before {
  background-position: -1568px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-3007::before {
  background-position: -1584px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2990::before {
  background-position: -1600px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2989::before {
  background-position: -1616px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2986::before {
  background-position: -1632px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2985::before {
  background-position: -1648px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2983::before {
  background-position: -1664px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2934::before {
  background-position: -1680px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-29::before {
  background-position: -1696px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2890::before {
  background-position: -1712px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2889::before {
  background-position: -1728px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2888::before {
  background-position: -1744px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2887::before {
  background-position: -1760px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2886::before {
  background-position: -1776px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2885::before {
  background-position: -1792px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2881::before {
  background-position: -1808px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2875::before {
  background-position: -1824px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2863::before {
  background-position: -1840px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2856::before {
  background-position: -1856px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2851::before {
  background-position: -1872px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2842::before {
  background-position: -1888px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2841::before {
  background-position: -1904px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2840::before {
  background-position: -1920px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2839::before {
  background-position: -1936px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2838::before {
  background-position: -1952px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2837::before {
  background-position: -1968px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2836::before {
  background-position: -1984px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2732::before {
  background-position: -2000px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2703::before {
  background-position: -2016px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2697::before {
  background-position: -2032px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26799::before {
  background-position: -2048px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2679::before {
  background-position: -2064px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26785::before {
  background-position: -2080px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26779::before {
  background-position: -2096px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2677::before {
  background-position: -2112px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2668::before {
  background-position: -2128px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2665::before {
  background-position: -2144px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2664::before {
  background-position: -2160px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2663::before {
  background-position: -2176px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26457::before {
  background-position: -2192px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26456::before {
  background-position: -2208px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26455::before {
  background-position: -2224px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26454::before {
  background-position: -2240px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26453::before {
  background-position: -2256px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26452::before {
  background-position: -2272px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26451::before {
  background-position: -2288px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26450::before {
  background-position: -2304px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26449::before {
  background-position: -2320px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26396::before {
  background-position: -2336px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26372::before {
  background-position: -2352px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26356::before {
  background-position: -2368px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26056::before {
  background-position: -2384px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26055::before {
  background-position: -2400px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26054::before {
  background-position: -2416px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26053::before {
  background-position: -2432px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-26052::before {
  background-position: -2448px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2567::before {
  background-position: -2464px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2563::before {
  background-position: -2480px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2554::before {
  background-position: -2496px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2552::before {
  background-position: -2512px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2543::before {
  background-position: -2528px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2530::before {
  background-position: -2544px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2527::before {
  background-position: -2560px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2526::before {
  background-position: -2576px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-25169::before {
  background-position: -2592px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-25152::before {
  background-position: -2608px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-25021::before {
  background-position: -2624px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24969::before {
  background-position: -2640px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24968::before {
  background-position: -2656px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24905::before {
  background-position: -2672px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24730::before {
  background-position: -2688px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24638::before {
  background-position: -2704px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24623::before {
  background-position: -2720px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24619::before {
  background-position: -2736px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24608::before {
  background-position: -2752px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24565::before {
  background-position: -2768px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24530::before {
  background-position: -2784px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24481::before {
  background-position: -2800px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24480::before {
  background-position: -2816px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24475::before {
  background-position: -2832px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24474::before {
  background-position: -2848px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24469::before {
  background-position: -2864px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24468::before {
  background-position: -2880px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24467::before {
  background-position: -2896px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24466::before {
  background-position: -2912px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24465::before {
  background-position: -2928px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24464::before {
  background-position: -2944px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24419::before {
  background-position: -2960px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24411::before {
  background-position: -2976px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24296::before {
  background-position: -2992px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24237::before {
  background-position: -3008px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24205::before {
  background-position: -3024px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24144::before {
  background-position: -3040px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24143::before {
  background-position: -3056px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24136::before {
  background-position: -3072px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24135::before {
  background-position: -3088px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-24129::before {
  background-position: -3104px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2340::before {
  background-position: -3120px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2332::before {
  background-position: -3136px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2327::before {
  background-position: -3152px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2325::before {
  background-position: -3168px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2322::before {
  background-position: -3184px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-232::before {
  background-position: -3200px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2319::before {
  background-position: -3216px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2317::before {
  background-position: -3232px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2312::before {
  background-position: -3248px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-231::before {
  background-position: -3264px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2302::before {
  background-position: -3280px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-230::before {
  background-position: -3296px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2231::before {
  background-position: -3312px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2226::before {
  background-position: -3328px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2225::before {
  background-position: -3344px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2224::before {
  background-position: -3360px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2222::before {
  background-position: -3376px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2215::before {
  background-position: -3392px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-22064::before {
  background-position: -3408px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-22::before {
  background-position: -3424px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21993::before {
  background-position: -3440px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21992::before {
  background-position: -3456px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2199::before {
  background-position: -3472px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21989::before {
  background-position: -3488px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21987::before {
  background-position: -3504px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21985::before {
  background-position: -3520px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21984::before {
  background-position: -3536px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21982::before {
  background-position: -3552px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2193::before {
  background-position: -3568px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21925::before {
  background-position: -3584px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21924::before {
  background-position: -3600px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21923::before {
  background-position: -3616px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21922::before {
  background-position: -3632px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21921::before {
  background-position: -3648px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21920::before {
  background-position: -3664px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21918::before {
  background-position: -3680px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21907::before {
  background-position: -3696px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21906::before {
  background-position: -3712px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21905::before {
  background-position: -3728px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21904::before {
  background-position: -3744px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21903::before {
  background-position: -3760px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21891::before {
  background-position: -3776px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21841::before {
  background-position: -3792px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21840::before {
  background-position: -3808px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21839::before {
  background-position: -3824px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21785::before {
  background-position: -3840px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21783::before {
  background-position: -3856px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21729::before {
  background-position: -3872px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21604::before {
  background-position: -3888px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21602::before {
  background-position: -3904px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21599::before {
  background-position: -3920px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21597::before {
  background-position: -3936px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21596::before {
  background-position: -3952px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21569::before {
  background-position: -3968px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21568::before {
  background-position: -3984px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21567::before {
  background-position: -4000px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21566::before {
  background-position: -4016px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21565::before {
  background-position: -4032px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21564::before {
  background-position: -4048px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21561::before {
  background-position: -4064px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21531::before {
  background-position: -4080px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21481::before {
  background-position: -4096px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21440::before {
  background-position: -4112px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21439::before {
  background-position: -4128px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21437::before {
  background-position: -4144px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21420::before {
  background-position: -4160px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21335::before {
  background-position: -4176px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21275::before {
  background-position: -4192px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21204::before {
  background-position: -4208px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21078::before {
  background-position: -4224px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21074::before {
  background-position: -4240px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21065::before {
  background-position: -4256px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2106::before {
  background-position: -4272px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21059::before {
  background-position: -4288px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21058::before {
  background-position: -4304px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21057::before {
  background-position: -4320px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2105::before {
  background-position: -4336px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21048::before {
  background-position: -4352px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21047::before {
  background-position: -4368px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2103::before {
  background-position: -4384px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21025::before {
  background-position: -4400px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2102::before {
  background-position: -4416px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-21::before {
  background-position: -4432px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20977::before {
  background-position: -4448px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20974::before {
  background-position: -4464px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20973::before {
  background-position: -4480px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20971::before {
  background-position: -4496px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20970::before {
  background-position: -4512px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20969::before {
  background-position: -4528px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20968::before {
  background-position: -4544px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20967::before {
  background-position: -4560px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20966::before {
  background-position: -4576px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20959::before {
  background-position: -4592px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-20939::before {
  background-position: -4608px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2066::before {
  background-position: -4624px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2062::before {
  background-position: -4640px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2040::before {
  background-position: -4656px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2039::before {
  background-position: -4672px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-2038::before {
  background-position: -4688px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-192::before {
  background-position: -4704px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-191::before {
  background-position: -4720px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-188::before {
  background-position: -4736px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-186::before {
  background-position: -4752px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-184::before {
  background-position: -4768px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-183::before {
  background-position: -4784px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-182::before {
  background-position: -4800px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1723::before {
  background-position: -4816px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1722::before {
  background-position: -4832px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1721::before {
  background-position: -4848px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-170::before {
  background-position: -4864px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-169::before {
  background-position: -4880px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-168::before {
  background-position: -4896px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1640::before {
  background-position: -4912px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1639::before {
  background-position: -4928px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-16::before {
  background-position: -4944px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-15::before {
  background-position: -4960px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1444::before {
  background-position: -4976px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1443::before {
  background-position: -4992px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1436::before {
  background-position: -5008px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1432::before {
  background-position: -5024px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1405::before {
  background-position: -5040px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1396::before {
  background-position: -5056px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1395::before {
  background-position: -5072px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1394::before {
  background-position: -5088px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1393::before {
  background-position: -5104px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-138::before {
  background-position: -5120px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1377::before {
  background-position: -5136px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1362::before {
  background-position: -5152px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1356::before {
  background-position: -5168px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1352::before {
  background-position: -5184px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1351::before {
  background-position: -5200px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1349::before {
  background-position: -5216px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1347::before {
  background-position: -5232px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1346::before {
  background-position: -5248px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1345::before {
  background-position: -5264px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1344::before {
  background-position: -5280px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1339::before {
  background-position: -5296px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1336::before {
  background-position: -5312px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1335::before {
  background-position: -5328px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1334::before {
  background-position: -5344px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1325::before {
  background-position: -5360px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1321::before {
  background-position: -5376px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1317::before {
  background-position: -5392px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1313::before {
  background-position: -5408px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1311::before {
  background-position: -5424px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1310::before {
  background-position: -5440px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1304::before {
  background-position: -5456px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1299::before {
  background-position: -5472px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1296::before {
  background-position: -5488px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1292::before {
  background-position: -5504px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1291::before {
  background-position: -5520px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1288::before {
  background-position: -5536px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1287::before {
  background-position: -5552px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1284::before {
  background-position: -5568px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1283::before {
  background-position: -5584px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1282::before {
  background-position: -5600px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1279::before {
  background-position: -5616px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1277::before {
  background-position: -5632px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1275::before {
  background-position: -5648px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1274::before {
  background-position: -5664px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1273::before {
  background-position: -5680px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1272::before {
  background-position: -5696px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1271::before {
  background-position: -5712px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1270::before {
  background-position: -5728px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1269::before {
  background-position: -5744px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1204::before {
  background-position: -5760px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1201::before {
  background-position: -5776px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1194::before {
  background-position: -5792px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1192::before {
  background-position: -5808px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1182::before {
  background-position: -5824px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1174::before {
  background-position: -5840px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1145::before {
  background-position: -5856px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1142::before {
  background-position: -5872px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1141::before {
  background-position: -5888px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1140::before {
  background-position: -5904px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1131::before {
  background-position: -5920px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-112::before {
  background-position: -5936px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-111::before {
  background-position: -5952px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-110::before {
  background-position: -5968px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10942::before {
  background-position: -5984px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10941::before {
  background-position: -6000px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10940::before {
  background-position: -6016px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10935::before {
  background-position: -6032px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10933::before {
  background-position: -6048px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10932::before {
  background-position: -6064px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-109::before {
  background-position: -6080px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1084::before {
  background-position: -6096px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10835::before {
  background-position: -6112px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10831::before {
  background-position: -6128px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10830::before {
  background-position: -6144px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10829::before {
  background-position: -6160px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10828::before {
  background-position: -6176px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10785::before {
  background-position: -6192px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10756::before {
  background-position: -6208px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-107::before {
  background-position: -6224px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10684::before {
  background-position: -6240px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10624::before {
  background-position: -6256px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1061::before {
  background-position: -6272px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-106::before {
  background-position: -6288px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10570::before {
  background-position: -6304px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-105::before {
  background-position: -6320px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1047::before {
  background-position: -6336px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1046::before {
  background-position: -6352px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1044::before {
  background-position: -6368px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1042::before {
  background-position: -6384px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1041::before {
  background-position: -6400px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-104::before {
  background-position: -6416px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1035::before {
  background-position: -6432px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1033::before {
  background-position: -6448px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1031::before {
  background-position: -6464px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1030::before {
  background-position: -6480px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1029::before {
  background-position: -6496px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10256::before {
  background-position: -6512px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10254::before {
  background-position: -6528px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10236::before {
  background-position: -6544px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10234::before {
  background-position: -6560px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10224::before {
  background-position: -6576px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10149::before {
  background-position: -6592px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10144::before {
  background-position: -6608px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10074::before {
  background-position: -6624px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10073::before {
  background-position: -6640px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10065::before {
  background-position: -6656px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10040::before {
  background-position: -6672px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-1004::before {
  background-position: -6688px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10023::before {
  background-position: -6704px 0;
  width: 16px;
  height: 16px;
}
.icon-g.g-10012::before {
  background-position: -6720px 0;
  width: 16px;
  height: 16px;
}
/*d33dcbfe9ed4121e326dd30c2adf60a0*/
/*8a0da1b56e3703db8cdc3aad1b604f18*/
/* This section is autogenerated*/
.icon-iface::before {
  content: '';
  display: block;
  background: url('/static/assets/icons/iface.png');
}
.icon-iface.iface-tools::before {
  background-position: 0px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-state_te_research::before {
  background-position: -48px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_on_market::before {
  background-position: -74px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_me_research::before {
  background-position: -100px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_invention::before {
  background-position: -126px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_in_progress::before {
  background-position: -152px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_in_production::before {
  background-position: -178px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_faded::before {
  background-position: -204px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_copy::before {
  background-position: -230px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-state_acquire::before {
  background-position: -256px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-stash::before {
  background-position: -282px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-settings_small::before {
  background-position: -330px 0;
  width: 24px;
  height: 24px;
}
.icon-iface.iface-settings::before {
  background-position: -354px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-reverse_engineering::before {
  background-position: -402px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-prices_user::before {
  background-position: -428px 0;
  width: 44px;
  height: 45px;
}
.icon-iface.iface-prices_t1_protos::before {
  background-position: -472px 0;
  width: 45px;
  height: 48px;
}
.icon-iface.iface-prices_products::before {
  background-position: -517px 0;
  width: 45px;
  height: 48px;
}
.icon-iface.iface-prices_min_sell::before {
  background-position: -562px 0;
  width: 45px;
  height: 48px;
}
.icon-iface.iface-prices_max_buy::before {
  background-position: -607px 0;
  width: 45px;
  height: 48px;
}
.icon-iface.iface-prices_materials::before {
  background-position: -652px 0;
  width: 26px;
  height: 32px;
}
.icon-iface.iface-prices_manufacturing::before {
  background-position: -678px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-prices_invention_materials::before {
  background-position: -704px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-prices_default::before {
  background-position: -730px 0;
  width: 46px;
  height: 46px;
}
.icon-iface.iface-prices_components::before {
  background-position: -776px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-planner_small::before {
  background-position: -824px 0;
  width: 24px;
  height: 24px;
}
.icon-iface.iface-planner::before {
  background-position: -848px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-note_small::before {
  background-position: -896px 0;
  width: 20px;
  height: 24px;
}
.icon-iface.iface-logout::before {
  background-position: -916px 0;
  width: 20px;
  height: 20px;
}
.icon-iface.iface-location_structure::before {
  background-position: -936px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-location_station::before {
  background-position: -962px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-location_solar_system::before {
  background-position: -988px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-location_region::before {
  background-position: -1014px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-location_constellation::before {
  background-position: -1040px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-location::before {
  background-position: -1066px 0;
  width: 26px;
  height: 26px;
}
.icon-iface.iface-industry::before {
  background-position: -1092px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-help::before {
  background-position: -1140px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-favorites_small::before {
  background-position: -1188px 0;
  width: 24px;
  height: 23px;
}
.icon-iface.iface-favorites::before {
  background-position: -1212px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-expenses_calculator::before {
  background-position: -1260px 0;
  width: 48px;
  height: 48px;
}
.icon-iface.iface-expand::before {
  background-position: -1308px 0;
  width: 15px;
  height: 15px;
}
.icon-iface.iface-distribute::before {
  background-position: -1323px 0;
  width: 20px;
  height: 20px;
}
.icon-iface.iface-details_small::before {
  background-position: -1343px 0;
  width: 24px;
  height: 19px;
}
.icon-iface.iface-collapse::before {
  background-position: -1367px 0;
  width: 15px;
  height: 15px;
}
.icon-iface.iface-clipboard_import::before {
  background-position: -1382px 0;
  width: 22px;
  height: 24px;
}
/*8a0da1b56e3703db8cdc3aad1b604f18*/
.groups_index {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  max-height: 100%;
}
.groups_index > header {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  gap: 1em;
  text-transform: uppercase;
  font-weight: 500;
  padding: 0.5em;
  background: rgba(255, 255, 255, 0.05);
  border-top: 2px solid #9D452D;
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  font-size: 14px;
  white-space: nowrap;
}
.groups_index > header:has( > :nth-child(2)) {
  justify-content: space-between;
}
.groups_index > header > input {
  width: 0;
  flex: 1 0 0;
  font-size: 14px;
}
.groups_index .add_group {
  margin: 0.25rem;
}
.groups_index > .filter {
  margin: 5px;
  display: flex;
  align-items: center;
  position: relative;
}
.groups_index > .filter input {
  flex: 1 0 0;
}
.groups_index > .filter input:placeholder-shown + a {
  display: none;
}
.groups_index > .filter a {
  top: 0;
  height: 100%;
}
.groups_index > .filter:is(header) > a {
  right: 5px;
}
.groups_index .list {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  scroll-behavior: smooth;
  flex: 1 1 auto;
  padding: 0.25rem;
}
.groups_index .list:not(:has( > :not(.hidden)))::before {
  content: 'No groups matching filter';
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0.5;
  margin: auto;
}
.groups_index .list:has( ~ :not(.humble_scroll_bar)) {
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
}
.groups_index .list:has( + .humble_scroll_bar:not([disabled])) {
  margin-right: 12px;
}
.groups_index .list > :not(.group):not(.empty):not(.spinning) {
  margin: auto 10px 10px;
}
.groups_index .list > :not(.group):not(.empty):not(.spinning) ~ :not(.group) {
  margin-top: 0;
}
.groups_index .list > .spinning {
  margin: auto;
}
.groups_index .list > .label > button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.groups_index .list > .label > button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.groups_index .list > .label > button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.groups_index .list > .label > button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.groups_index .list > .label > button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.groups_index .list + .humble_scroll_bar {
  --left-fix: 12px;
}
.groups_index .list .empty {
  font-size: 1.2rem;
}
.groups_index .list .group:has(+button) {
  margin-bottom: 20px;
}
.groups_index .list .group {
  font-size: 15px;
  display: flex;
  flex-direction: column;
  position: relative;
}
.groups_index .list .group[data-title] {
  z-index: 450;
  cursor: pointer;
  position: relative;
}
.groups_index .list .group[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.groups_index .list .group[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.groups_index .list .group[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.groups_index .list .group[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.groups_index .list .group[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.groups_index .list .group[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.groups_index .list .group[data-title][data-title]::after,
.groups_index .list .group[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  opacity: 0;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.groups_index .list .group.hidden {
  display: none;
}
.groups_index .list .group.active > .group_self {
  background: rgba(243, 144, 88, 0.16);
  color: #F39058;
}
.groups_index .list .group > .children {
  background: #191410;
}
.groups_index .list .group.expandable > .group_self::before {
  opacity: 1;
}
.groups_index .list .group:not(.expandable) > .group_self:hover {
  background: #F39058;
  color: #191410;
}
.groups_index .list .group .group_self .group_name {
  display: flex;
  gap: 0.5ch;
}
.groups_index .list .group.unexpandable {
  gap: 0;
}
.groups_index .list .group.unexpandable:nth-of-type(2n) {
  background: #191410;
}
.groups_index .list .group.unexpandable > .group_self .group_name {
  display: flex;
  align-items: center;
  align-self: stretch;
  padding-left: 1ch;
  flex: 1 0 0;
  overflow: hidden;
}
.groups_index .list .group.unexpandable > .group_self .group_name + a {
  font-size: 14px;
  font-variant: small-caps;
  padding-right: 1em;
  padding-left: 2rem;
}
.groups_index .list .group.unexpandable > .group_self label {
  flex: 1 0 0;
}
.groups_index .list .group.unexpandable > .group_self label input {
  font-size: 14px;
  width: 100%;
}
.groups_index .list .group.unexpandable:not(.expandable):hover .group_self {
  background: transparent;
}
.groups_index .list .group.unexpandable:not(.expandable):hover .group_self > .group_name,
.groups_index .list .group.unexpandable:not(.expandable):hover .group_self > .group_name ~ * {
  background: #F39058;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu:focus ~ *,
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu:hover ~ *,
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu:focus-within ~ * {
  background: rgba(208, 92, 59, 0.3);
  color: white;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] {
  cursor: pointer;
  position: relative;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title][data-title]::after,
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(0, -50%);
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title]:hover::after,
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .drop_down_menu [data-title]:hover > .title {
  opacity: 1;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self {
  overflow: visible;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self::before {
  display: none;
}
.groups_index .list .group.unexpandable:not(.expandable) > .group_self .group_name {
  transition: 300ms;
}
.groups_index .list .group.unexpandable.active .drop_down_menu:not(:hover):not(focus):not(:focus-within) {
  --menu-fg: #F39058;
}
.groups_index .list .group.faded > .group_self {
  font-size: small;
  color: #888;
}
.groups_index .list .group.faded > .group_self:not(:has(>a)) {
  pointer-events: none;
}
.groups_index .list .group > .group_self {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding-left: calc(3px + max(24px * var(--level), 5px));
  transition: 300ms;
  height: 26px;
  white-space: nowrap;
  overflow: hidden;
}
.groups_index .list .group > .group_self::before {
  content: '';
  width: 5px;
  margin-right: 5px;
  border: 4px solid transparent;
  border-left: 5px solid white;
  border-right: none;
  transition: 300ms;
}
.groups_index .list .group > .group_self:hover::before {
  border-left-color: #F39058;
}
.groups_index .list .group > .group_self::before {
  opacity: 0;
}
.groups_index .list .group > .group_self:hover {
  background: rgba(208, 92, 59, 0.3);
}
.groups_index .list .group > .group_self .group_name + a {
  margin-left: auto;
  min-width: 26px;
  min-height: 26px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 300ms;
  font-size: 1.1rem;
}
.groups_index .list .group > .group_self .group_name + a:hover {
  color: #191410;
  background: #F39058;
}
.products {
  overflow: hidden;
  padding: 10px 0 20px 15px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 0 0;
  scroll-behavior: smooth;
}
.products > .list {
  display: grid;
  grid-template-columns: 1fr auto auto auto auto auto auto auto auto 68px;
  gap: 1rem;
}
.products .warning {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  padding: 1rem 3rem;
  color: salmon;
  font-size: 1.6rem;
  text-align: center;
  margin-right: 20px;
}
.products > .controls {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  padding: 0.5rem;
  display: flex;
  margin-right: 20px;
  padding-right: 25px;
  gap: 0.5rem;
  z-index: 500;
}
.products > .controls::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.products > .controls::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.products > .controls::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.products > .controls::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.products > .controls:empty {
  display: none;
}
.products > .controls > :not(.override) + .override,
.products > .controls .override:first-child {
  margin-left: auto;
}
.products > .controls > button {
  align-self: flex-end;
  height: 44px;
}
.products > .controls > button + * {
  margin-left: auto;
  margin-right: auto;
}
.products > .controls .override {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: relative;
  --cut-size: 8px;
}
.products > .controls .override > span {
  font-size: 14px;
  text-transform: lowercase;
  font-variant: small-caps;
}
.products > .controls .override.hub {
  width: 200px;
}
.products > .controls .override.intermediates {
  width: 229px;
}
.products > .controls .override.prices .controls_box {
  font-size: 1rem;
  text-transform: uppercase;
  position: relative;
  display: flex;
  justify-content: center;
}
.products > .controls .override.prices .controls_box img {
  transition: 300ms;
  opacity: 1;
}
.products > .controls .override.prices .controls_box > :not(:last-child) {
  border-right: 1px solid rgba(208, 92, 59, 0.3);
}
.products > .controls .override.prices .controls_box img {
  filter: brightness(0.75);
}
.products > .controls .override.prices .controls_box > :hover img {
  filter: brightness(1);
}
.products > .controls .override.prices .controls_box > .disabled img {
  filter: brightness(0.4);
}
.products > .controls .override.prices .controls_box > .disabled img + img {
  filter: brightness(0.4) drop-shadow(0px 0px 5px black) drop-shadow(0px 0px 5px black);
}
.products > .controls .override.prices .controls_box img + img {
  position: absolute;
  bottom: 0;
  transform: scale(0.5);
  transform-origin: center bottom;
  filter: drop-shadow(0px 0px 5px black) drop-shadow(0px 0px 5px black);
}
.products > .controls .override .selector .default {
  justify-content: flex-start;
}
.products > .controls .override .selector .value {
  color: #F39058;
}
.products > .controls .override > div {
  position: relative;
}
.products > .controls .override .dropdown {
  position: absolute;
  top: 100%;
  align-self: center;
  display: none;
  padding: 0.25rem;
  background: #302B28;
  border: 1px solid rgba(208, 92, 59, 0.3);
  border-top: 3px solid #F39058;
  box-shadow: 0 10px 5px 5px rgba(0, 0, 0, 0.65);
}
.products > .controls .override .dropdown.active {
  display: flex;
}
.products > .controls .override .selector:not(.expanded) .selected {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.products > .controls .override .selector:not(.expanded) .selected::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.products > .controls .override .selector:not(.expanded) .selected::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.products > .controls .override .selector:not(.expanded) .selected::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.products > .controls .override .selector:not(.expanded) .selected::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.products > .controls .override .prioritized_checklist h5 {
  display: flex;
  gap: 1ch;
  align-items: center;
  justify-content: center;
}
.products > .controls .override .prioritized_checklist .checkbox_container span {
  gap: 1ch;
  justify-content: flex-start;
  padding-left: 2ch;
  padding-right: 2ch;
}
.products > .controls .controls_box,
.products > .controls .input {
  display: flex;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  --cut-size: 8px;
  gap: 0;
  font-variant: small-caps;
  font-size: 14px;
  flex-grow: 1;
  align-items: center;
}
.products > .controls .controls_box::before,
.products > .controls .input::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.products > .controls .controls_box::after,
.products > .controls .input::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.products > .controls .controls_box::before,
.products > .controls .input::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.products > .controls .controls_box::after,
.products > .controls .input::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.products > .controls .iconized_control > .controls_box > span {
  align-self: center;
  height: auto;
  text-transform: lowercase;
  font-variant: small-caps;
  font-size: 18px;
}
.products > .controls .iconized_control > .controls_box > * {
  display: flex;
  justify-content: center;
  cursor: pointer;
  position: relative;
  height: 100%;
  padding: 0 5px;
}
.products > .controls .iconized_control > .controls_box > * > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.products > .controls .iconized_control > .controls_box > * > .title > span:not(.tip)::before {
  content: ' • ';
}
.products > .controls .iconized_control > .controls_box > * > .title > span:nth-child(2) {
  font-weight: 700;
}
.products > .controls .iconized_control > .controls_box > * > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.products > .controls .iconized_control > .controls_box > * > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.products > .controls .iconized_control > .controls_box > * > .title:has( > .tip ) {
  justify-content: center;
}
.products > .controls .iconized_control > .controls_box > *[data-title]::after,
.products > .controls .iconized_control > .controls_box > * > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.products > .controls .iconized_control > .controls_box > *:hover::after,
.products > .controls .iconized_control > .controls_box > *:hover > .title {
  opacity: 1;
}
.products > .controls .iconized_control > .controls_box > *:first-child {
  padding-left: 1ch;
}
.products > .controls .iconized_control > .controls_box > *:last-child {
  padding-right: 1ch;
}
.products > .controls .iconized_control > .controls_box > * img {
  width: 18px;
  height: 100%;
  object-fit: contain;
  opacity: 0.25;
  transition: 300ms;
}
.products > .controls .filter {
  display: flex;
  flex-direction: column;
  position: relative;
}
.products > .controls .filter .name {
  font-size: 14px;
  text-transform: uppercase;
  white-space: nowrap;
}
.products > .controls .filter .input {
  max-width: 160px;
}
.products > .controls .filter .input:focus-within {
  --cut-bg: #15110E;
  --cut-border-color: #F39058;
  --cut-inner-shadow: 10px;
}
.products > .controls .filter .input input {
  width: 100%;
  padding-right: 25px;
  border: none;
  box-shadow: none;
  background: none;
}
.products > .controls .filter .options {
  gap: 5px;
  padding-left: 1ch;
  padding-right: 1ch;
}
.products > .controls .filter [data-title] {
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center;
}
.products > .controls .filter [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.products > .controls .filter [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.products > .controls .filter [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.products > .controls .filter [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.products > .controls .filter [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.products > .controls .filter [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.products > .controls .filter [data-title][data-title]::after,
.products > .controls .filter [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.products > .controls .filter [data-title]:hover::after,
.products > .controls .filter [data-title]:hover > .title {
  opacity: 1;
}
.products > .controls .filter label:has( > .title ) {
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center;
}
.products > .controls .filter label:has( > .title ) > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.products > .controls .filter label:has( > .title ) > .title > span:not(.tip)::before {
  content: ' • ';
}
.products > .controls .filter label:has( > .title ) > .title > span:nth-child(2) {
  font-weight: 700;
}
.products > .controls .filter label:has( > .title ) > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.products > .controls .filter label:has( > .title ) > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.products > .controls .filter label:has( > .title ) > .title:has( > .tip ) {
  justify-content: center;
}
.products > .controls .filter label:has( > .title )[data-title]::after,
.products > .controls .filter label:has( > .title ) > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: normal;
  width: 100%;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.products > .controls .filter label:has( > .title ):has(>:focus:placeholder-shown)::after,
.products > .controls .filter label:has( > .title ):has(>:focus:placeholder-shown) > .title {
  opacity: 1;
}
.products > .controls .filter.by_flag > div {
  display: flex;
  flex-direction: row;
}
.products > .controls .filter.by_flag > div > a:not([class=""]) img {
  opacity: 1;
}
.products > .controls .filter.by_flag > div > a.required_on img,
.products > .controls .filter.by_flag > div > a.in_progress img {
  filter: brightness(0) saturate(100%) invert(83%) sepia(14%) saturate(1171%) hue-rotate(67deg) brightness(101%) contrast(92%);
}
.products > .controls .filter.by_flag > div > a.required_off img,
.products > .controls .filter.by_flag > div > a.pending img {
  filter: brightness(0) saturate(100%) invert(66%) sepia(60%) saturate(2962%) hue-rotate(318deg) brightness(109%) contrast(96%);
}
.product {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  z-index: auto;
  grid-column: 1 / -1;
  display: flex;
  margin-right: 20px;
  height: 290px;
  overflow: hidden;
}
.product::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.product::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.product::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.product::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.product .toggle {
  min-width: 22px;
  min-height: 22px;
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
}
.product .toggle::before,
.product .toggle::after {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  height: 2px;
  background: var(--deco-color, white);
  width: 11px;
  transition: 300ms;
}
.product .toggle::before {
  right: calc(50% - 2px);
  transform: rotate(45deg);
}
.product .toggle::after {
  left: calc(50% - 2px);
  transform: rotate(-45deg);
}
.product .toggle.expanded::before {
  transform: rotate(-45deg);
}
.product .toggle.expanded::after {
  transform: rotate(45deg);
}
.product.reloading {
  filter: grayscale(100%) contrast(50%) brightness(65%);
  z-index: 400;
}
.product.collapsed {
  height: auto;
  align-items: center;
  gap: 1.5rem;
  display: grid;
  grid-template-columns: inherit;
  grid-template-columns: subgrid;
  overflow: visible;
}
.product.collapsed > .details {
  position: absolute;
  top: 100%;
  z-index: 700;
  left: 75px;
  background: #25201C;
  border: 1px solid #F39058;
  box-shadow: 0 6px 6px 6px rgba(0, 0, 0, 0.35);
  min-width: 320px;
  height: 320px;
}
.product.collapsed:nth-child(3) ~ .collapsed:nth-last-child(1) .details,
.product.collapsed:nth-child(3) ~ .collapsed:nth-last-child(2) .details,
.product.collapsed:nth-child(3) ~ .collapsed:nth-last-child(3) .details,
.product.collapsed:nth-child(3) ~ .collapsed:nth-last-child(4) .details {
  top: auto;
  bottom: 100%;
  box-shadow: 0 -6px 6px 6px rgba(0, 0, 0, 0.35);
}
.product.collapsed > .primary {
  display: contents;
}
.product.collapsed > .primary .product_info {
  display: contents;
}
.product.collapsed > .primary .product_info .product_id {
  padding: 2px 16px 2px;
  flex: 1;
  width: auto;
  display: grid;
  grid-template-columns: 48px auto;
  grid-template-rows: auto auto;
  gap: 0 1rem;
}
.product.collapsed > .primary .product_info .product_id figure {
  display: flex;
  align-items: center;
  justify-content: center;
  grid-row: 1 / 3;
  width: 100%;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] {
  cursor: pointer;
  position: relative;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.product.collapsed > .primary .product_info .product_id figure[data-title][data-title]::after,
.product.collapsed > .primary .product_info .product_id figure[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
}
.product.collapsed > .primary .product_info .product_id figure[data-title]:hover::after,
.product.collapsed > .primary .product_info .product_id figure[data-title]:hover > .title {
  opacity: 1;
}
.product.collapsed > .primary .product_info h2 {
  margin-bottom: 0;
  align-items: flex-end;
}
.product.collapsed > .primary .product_info .controls_group {
  display: flex;
}
.product.collapsed > .primary .product_info .controls_group > * {
  width: 32px;
  aspect-ratio: 1 / 1;
  padding-top: 5px;
  background-position: center bottom 0;
}
.product.collapsed > .primary .product_info .controls_group > *.active {
  background-size: 80% 3px;
}
.product.collapsed > .primary .product_info .controls_group > * img {
  width: 50%;
}
.product.collapsed > .primary .product_info .controls_group > * {
  cursor: pointer;
  position: relative;
}
.product.collapsed > .primary .product_info .controls_group > * > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product.collapsed > .primary .product_info .controls_group > * > .title > span:not(.tip)::before {
  content: ' • ';
}
.product.collapsed > .primary .product_info .controls_group > * > .title > span:nth-child(2) {
  font-weight: 700;
}
.product.collapsed > .primary .product_info .controls_group > * > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product.collapsed > .primary .product_info .controls_group > * > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product.collapsed > .primary .product_info .controls_group > * > .title:has( > .tip ) {
  justify-content: center;
}
.product.collapsed > .primary .product_info .controls_group > *[data-title]::after,
.product.collapsed > .primary .product_info .controls_group > * > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.product.collapsed > .primary .product_info .controls_group > *:hover::after,
.product.collapsed > .primary .product_info .controls_group > *:hover > .title {
  opacity: 1;
}
.product.collapsed > .primary .digest {
  display: contents;
}
.product.collapsed > .primary .infoblock {
  display: contents;
}
.product.collapsed > .primary .infoblock > header {
  display: none;
}
.product.collapsed > .primary .infoblock.narrow .summary:not(:last-child) {
  display: none;
}
.product.collapsed > .primary .infoblock.narrow .summary:last-child {
  display: contents;
}
.product.collapsed > .primary .infoblock .tag {
  padding: 0;
}
.product.collapsed > .primary .infoblock .tabs {
  display: none;
}
.product.collapsed .tag.isk_unit,
.product.collapsed .tag.runs,
.product.collapsed .tag.amount_per_run,
.product.collapsed .tag.time_bp,
.product.collapsed .tag.taxes,
.product.collapsed .tag.revenue {
  display: none;
}
.product.collapsed .tag.emphasized:not(.unavailable) strong,
.product.collapsed .tag:not(.unavailable) > strong {
  font-size: 1.2rem;
}
.product.collapsed > .controls {
  flex-direction: row;
  position: relative;
}
.product.collapsed > .controls .controls_group {
  display: none;
}
.product.collapsed .flags {
  flex-direction: row;
  grid-column: 2 / 3;
  grid-row: 1;
  border: none;
  margin-right: 1rem;
}
.product.collapsed .flags > * {
  height: 32px;
  padding: 0 5px;
  aspect-ratio: 1 / 1;
}
.product.collapsed .flags > * img {
  width: auto;
}
.product.hidden {
  display: none;
}
.product .primary {
  display: flex;
  justify-content: space-between;
  flex: 0 0 50%;
  border-right: 1px solid rgba(208, 92, 59, 0.3);
}
.product .primary > .product_info {
  padding: 1rem;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  flex: 1 0 300px;
}
.product .primary > .product_info figure[data-title] {
  position: relative;
  cursor: pointer;
}
.product .primary > .product_info figure[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product .primary > .product_info figure[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.product .primary > .product_info figure[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.product .primary > .product_info figure[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product .primary > .product_info figure[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product .primary > .product_info figure[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.product .primary > .product_info figure[data-title][data-title]::after,
.product .primary > .product_info figure[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.product .primary > .product_info figure[data-title]:hover::after,
.product .primary > .product_info figure[data-title]:hover > .title {
  opacity: 1;
}
.product .primary > .product_info figure img {
  object-fit: contain;
  width: 100%;
}
.product .primary > .digest {
  border-left: 1px solid rgba(208, 92, 59, 0.3);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.product .primary > .digest > * {
  flex-grow: 1;
}
.product .primary > .digest .infoblock + .infoblock {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
}
.product .primary .product_id {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.product .primary .product_id h2 {
  font-size: 18px;
  display: flex;
  cursor: pointer;
}
.product .primary .product_id h2 .toggle {
  aspect-ratio: auto;
  width: auto;
  margin-left: 0.5rem;
  transform-origin: right center;
  transform: scale(0.75);
  opacity: 0;
  transition: 300ms;
}
.product .primary .product_id h2:hover .toggle {
  opacity: 0.75;
}
.product .primary .product_id .controls_group {
  display: none;
}
.product .note {
  position: relative;
  display: flex;
  flex-direction: column;
}
.product .note > span {
  position: absolute;
  right: 6px;
  top: 4px;
  font-size: 0.65em;
  opacity: 0.5;
  pointer-events: none;
}
.product .note .evaluated {
  white-space: nowrap;
  border: 1px solid rgba(208, 92, 59, 0.3);
  font-size: 13px;
  padding: 0.25em;
  margin: 0 1px 1px;
}
.product .details.product_settings {
  gap: 1rem;
  justify-content: flex-start;
}
.product .details.product_settings .range {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  margin-top: 0;
  flex: 0 1 auto;
  margin: 0 1rem;
}
.product .details.product_settings .range::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.product .details.product_settings .range::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.product .details.product_settings .range::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.product .details.product_settings .range::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.product .details.product_settings .range .controls {
  padding: 0px;
}
.product .details.product_settings .group {
  display: flex;
  gap: 1rem;
  padding: 0 1rem;
  flex: 0 1 auto;
}
.product .details.product_settings .group .number {
  gap: 0.5rem;
  align-items: center;
}
.product .details.product_settings .group .number > span {
  max-width: 150px;
  white-space: normal;
  display: inline;
  flex: 0 0 auto;
  font-size: 14px;
  text-transform: lowercase;
  font-variant: small-caps;
  text-align: right;
}
.product .details.product_settings .group .number input {
  width: 100%;
}
.product .details.product_settings > header ~ a {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  position: relative;
  align-self: flex-end;
  margin-right: 1rem;
  flex: 0 0 auto;
}
.product .details.product_settings > header ~ a[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
.product .details.product_settings > header ~ a:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
.product .details.product_settings > header ~ a::before {
  content: '';
  position: absolute;
  inset: 0;
}
.product .details.product_settings > header ~ a span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.product .details.product_settings > header ~ a span[data-label]::before {
  content: attr(data-label);
}
.product .details.product_settings > header ~ a.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.product .details.product_settings > header ~ a.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.product .details.product_settings > header ~ a.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.product .details.product_settings > header ~ a.confirmation_required.cancel {
  color: red;
}
.product .details.product_settings > header ~ a::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.product .details.product_settings > header ~ a::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.product .details.product_settings > header ~ a::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.product .details.product_settings > header ~ a::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.product .details.product_settings > header ~ a::before {
  content: '';
  position: absolute;
  inset: 0;
}
.product .details.product_settings > header ~ a span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.product .details.product_settings > header ~ a span[data-label]::before {
  content: attr(data-label);
}
.product .details.product_settings > header ~ a.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.product .details.product_settings > header ~ a.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.product .details.product_settings > header ~ a.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.product .details.product_settings > header ~ a.confirmation_required.cancel {
  color: red;
}
.product .user_groups_controls {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-bottom: 0.5rem;
  gap: 0.5rem;
}
.product .user_groups_controls .hidden {
  display: none;
}
.product .user_groups_digest {
  display: grid;
  grid-template-columns: repeat(6, calc((100% - 2.5rem) / 6));
  padding: 0.5rem 15px 0.5rem 0.5rem;
  gap: 0.5rem;
  overflow: hidden;
  align-content: start;
  scroll-behavior: smooth;
  flex: 1 0 0;
  width: 100%;
}
.product .user_groups_digest span {
  padding: 0 0.5rem;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 0;
  transition: 300ms;
}
.product .user_groups_digest span:last-child {
  margin-left: auto;
}
.product .user_groups_digest span:last-child:nth-child(3) {
  padding-left: 2rem;
}
.product .user_groups_digest .name {
  flex: 1 0 0;
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
  line-height: normal;
  font-size: 1em;
  font-weight: normal;
}
.product .user_groups_digest .active {
  border-color: #F39058;
}
.product .user_groups_digest > a {
  grid-column: span 2;
  padding: 5px;
  display: flex;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.1);
  height: min-content;
  align-items: center;
  border: 2px solid transparent;
  transition: 300ms;
  position: relative;
}
.product .user_groups_digest > a.proceeding {
  align-self: auto;
  filter: grayscale(100%);
  pointer-events: none;
  opacity: 0.75;
}
.product .user_groups_digest > a.proceeding::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(127, 127, 127, 0.5) 6px, rgba(127, 127, 127, 0.5) 12px, rgba(127, 127, 127, 0.15) 12px, rgba(127, 127, 127, 0.15) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.product .user_groups_digest > a.proceeding::before {
  content: '';
  position: absolute;
  inset: 0;
}
.product .user_groups_digest > a:hover:not(.one_way).active {
  border-color: Tomato;
}
.product .user_groups_digest > a:hover:not(.one_way).active .name + span {
  color: Tomato;
}
.product .user_groups_digest > a:hover:not(.one_way):not(.active) {
  border-color: lightgreen;
}
.product .user_groups_digest > a:hover:not(.one_way):not(.active) .name + span {
  color: lightgreen;
}
.product .user_groups_digest > a:hover.one_way {
  border-color: lightgreen;
}
.product .user_groups_digest > a:hover.one_way span:first-child {
  color: lightgreen;
}
.product .user_groups_digest > a:hover.one_way:has(span:last-child:hover) {
  border-color: DodgerBlue;
  color: DodgerBlue;
}
.product .user_groups_digest > a:hover.one_way:has(span:last-child:hover) .name {
  color: inherit;
}
.product .user_groups_digest > a:hover.one_way:has(span:last-child:hover) span:first-child {
  visibility: hidden;
  transition: none;
}
.product .user_groups_digest > a:hover.one_way:has(span:last-child:hover) span:last-child {
  color: inherit;
}
.product .controls_group > * {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  transition: 300ms;
  cursor: pointer;
  position: relative;
  background-image: linear-gradient(to right, #F39058, #F39058);
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 3px 0;
}
.product .controls_group > * > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product .controls_group > * > .title > span:not(.tip)::before {
  content: ' • ';
}
.product .controls_group > * > .title > span:nth-child(2) {
  font-weight: 700;
}
.product .controls_group > * > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product .controls_group > * > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product .controls_group > * > .title:has( > .tip ) {
  justify-content: center;
}
.product .controls_group > *[data-title]::after,
.product .controls_group > * > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  right: calc(100% + 10px);
}
.product .controls_group > *:hover::after,
.product .controls_group > *:hover > .title {
  opacity: 1;
}
.product .controls_group > * > span,
.product .controls_group > * > img {
  opacity: 0.35;
  transition: 300ms;
}
.product .controls_group > *.has_data::before {
  content: '';
  position: absolute;
  left: 6px;
  top: 6px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
  background: lightgreen;
  transition: 300ms;
}
.product .controls_group > *.active {
  background-size: 3px calc(100% - 16px);
}
.product .controls_group > *.active > span,
.product .controls_group > *.active > img {
  opacity: 1;
}
.product .controls {
  flex: 0 0 40px;
  display: flex;
  flex-direction: column;
  padding: 0.5rem 0;
}
.product .controls .toggle + * {
  margin-top: auto;
}
.product .controls .collapsed_menu {
  display: none;
}
.product .flags {
  display: flex;
  flex-direction: column;
  border-left: 1px solid rgba(208, 92, 59, 0.3);
}
.product .flags > * {
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 1 / 1;
  padding: 8px;
  cursor: pointer;
  position: relative;
}
.product .flags > * > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product .flags > * > .title > span:not(.tip)::before {
  content: ' • ';
}
.product .flags > * > .title > span:nth-child(2) {
  font-weight: 700;
}
.product .flags > * > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product .flags > * > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product .flags > * > .title:has( > .tip ) {
  justify-content: center;
}
.product .flags > *[data-title]::after,
.product .flags > * > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.product .flags > *:hover::after,
.product .flags > *:hover > .title {
  opacity: 1;
}
.product .flags > * > img {
  opacity: 0.25;
  transition: 300ms;
}
.product .flags > *.active img {
  opacity: 0.85;
}
.product .flags > *.three_way_switch[data-switch-state="1"] img,
.product .flags > *.three_way_switch[data-switch-state="2"] img {
  opacity: 0.85;
}
.product .flags > *.three_way_switch[data-switch-state="1"]::before,
.product .flags > *.three_way_switch[data-switch-state="2"]::before {
  content: '';
  position: absolute;
  right: 5px;
  top: 5px;
  width: 8px;
  height: 8px;
  border-radius: 100%;
}
.product .flags > *.three_way_switch[data-switch-state="1"]::before {
  background: salmon;
}
.product .flags > *.three_way_switch[data-switch-state="2"]::before {
  background: lightgreen;
}
.product .details {
  display: grid;
  grid-template-columns: min-content auto;
  grid-template-rows: min-content auto;
  align-content: start;
  border-right: 1px solid rgba(208, 92, 59, 0.3);
  flex: 1 0 0;
  overflow: hidden;
}
.product .details.simple {
  grid-template-columns: 1fr;
}
.product .details.primitive {
  display: flex;
  flex-direction: column;
}
.product .details.primitive header ~ * {
  flex: 1 0 0;
}
.product .details.primitive label {
  display: flex;
}
.product .details > header {
  grid-column: 1 / 3;
  height: min-content;
  display: flex;
  justify-content: space-between;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.product .details .variation_selector {
  border-right: 1px solid rgba(208, 92, 59, 0.3);
  position: relative;
  display: flex;
  flex-direction: column;
}
.product .details .variation_selector header {
  position: sticky;
  top: 0;
  text-align: left;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
.product .details .variation_selector .variations_list {
  flex: 1 0 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  scroll-behavior: smooth;
  padding: 5px 10px 10px 0;
}
.product .details .variation_selector .variations_list > * {
  padding: 0.25rem 0.25rem 0.25rem 0.5rem;
  cursor: pointer;
  position: relative;
}
.product .details .variation_selector .variations_list > *:not(:last-child) {
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
}
.product .details .variation_selector .variations_list > *::before {
  content: '';
  position: absolute;
  top: 50%;
  bottom: 50%;
  width: 2px;
  left: 0;
  background: #F39058;
  transition: 300ms;
}
.product .details .variation_selector .variations_list > *:hover::before {
  top: 20%;
  bottom: 20%;
}
.product .details .variation_selector .variations_list > .active {
  color: #F39058;
}
.product .details .variation_selector .variations_list .tools {
  display: flex;
  flex-direction: column;
  white-space: nowrap;
  font-size: 14px;
}
.product .details .variation_selector .variations_list .tools > span {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.product .details .variation_selector .variations_list .tools > span img {
  width: 20px;
  height: 20px;
}
.product .details .variation_selector .variations_list .blueprint_params {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-variant: small-caps;
  margin-top: 5px;
}
.product .details .humble_scroll_bar[disabled] + .variation_expenses .overall {
  margin-right: 0;
}
.product .details .humble_scroll_bar[disabled] + .variation_expenses .prices_table {
  padding-right: 0;
}
.product .details .variation_expenses {
  scroll-behavior: smooth;
}
.product .details .variation_expenses .warning {
  font-size: 0.9em;
  color: pink;
  text-align: center;
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product .details .variation_expenses .overall {
  display: flex;
  justify-content: space-between;
  text-transform: lowercase;
  font-variant: small-caps;
  color: #F39058;
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  font-weight: 500;
  padding: 2px 6px;
  margin-right: 10px;
}
.product .details .variation_selector,
.product .details .variation_expenses {
  overflow: hidden;
}
.product header {
  grid-column: 1 / 4;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  font-size: 14px;
  text-transform: uppercase;
  padding: 0.5rem 0;
  text-align: center;
  background: rgba(255, 255, 255, 0.05);
  font-weight: 600;
}
.product .infoblock {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.5rem;
  padding-bottom: 0.5rem;
}
.product .infoblock:first-child {
  border-top: none;
}
.product .infoblock:last-child {
  border-top: none;
}
.product .infoblock.condended .tag > * {
  text-align: center;
}
.product .infoblock header {
  height: min-content;
}
.product .infoblock.narrow {
  display: grid;
  gap: 0;
  grid-template-columns: min-content auto;
  grid-template-rows: min-content 1fr;
  padding-bottom: 0;
}
.product .infoblock.narrow header {
  grid-column: 1 / 3;
}
.product .infoblock.narrow > div {
  padding: 0;
}
.product .infoblock.narrow .tabs {
  width: 20px;
  border-right: 1px solid rgba(208, 92, 59, 0.3);
  display: flex;
  flex-direction: column;
}
.product .infoblock.narrow .tabs a {
  font-variant: small-caps;
  display: flex;
  flex-direction: column;
  flex: 1 0 0;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 0.8;
  font-size: 14px;
  pointer-events: none;
  transition: 300ms;
}
.product .infoblock.narrow .tabs a:hover {
  color: #F39058;
}
.product .infoblock.narrow .tabs a.active:not(:only-child) {
  background: #4E281C;
}
.product .infoblock.narrow .tabs a:not(:only-child) {
  cursor: pointer;
  pointer-events: auto;
}
.product .infoblock.narrow .summary {
  grid-template-columns: auto auto;
  gap: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: none;
  flex: 1 0 0;
}
.product .infoblock.narrow .summary.active {
  display: grid;
}
.product .infoblock .tag {
  padding-left: 1rem;
  padding-right: 1rem;
}
.product .infoblock .tag > .small {
  font-size: 0.75em;
  flex: 1;
  display: flex;
  align-items: center;
}
.product .infoblock .tag.sell_price {
  position: relative;
}
.product .infoblock .tag.sell_price[data-price-source="min_sell"] strong {
  color: lightgreen;
}
.product .infoblock .tag.sell_price[data-price-source="max_buy"] strong {
  color: gold;
}
.product .infoblock .tag.sell_price[data-price-source="user"] strong {
  color: LightSkyBlue;
}
.notification .product_selector {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}
.notification .product_selector > button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  margin: 10px auto;
  padding: 0.5rem;
  width: auto;
  line-height: normal;
  white-space: nowrap;
}
.notification .product_selector > button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.notification .product_selector > button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.notification .product_selector > button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.notification .product_selector > button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
.notification .product_selector .product_selector_pane {
  top: auto;
}
.product_selector_toggle {
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 0;
}
.product_selector_toggle[data-title] {
  cursor: pointer;
  position: relative;
}
.product_selector_toggle[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product_selector_toggle[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.product_selector_toggle[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.product_selector_toggle[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product_selector_toggle[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product_selector_toggle[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.product_selector_toggle[data-title][data-title]::after,
.product_selector_toggle[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.product_selector_toggle[data-title]:hover::after,
.product_selector_toggle[data-title]:hover > .title {
  opacity: 1;
}
.product_selector_toggle::after {
  line-height: normal;
  font-weight: 400;
}
.product_selector_pane {
  --cut-bg: #25201C;
  --hfix: 0;
  transform: translateX(var(--hfix));
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  filter: drop-shadow(0 0 1px #f39058) drop-shadow(0 0 5px #f39058);
  position: absolute;
  z-index: 550;
  top: 100%;
  display: flex;
  flex-direction: column;
  padding: 10px;
  gap: 10px;
  min-height: 44px;
  text-align: left;
}
.product_selector_pane::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.product_selector_pane::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.product_selector_pane::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.product_selector_pane::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.product_selector_pane label {
  z-index: 500;
  margin-left: 10px;
  margin-right: 10px;
  display: flex;
  cursor: pointer;
  position: relative;
}
.product_selector_pane label > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.product_selector_pane label > .title > span:not(.tip)::before {
  content: ' • ';
}
.product_selector_pane label > .title > span:nth-child(2) {
  font-weight: 700;
}
.product_selector_pane label > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.product_selector_pane label > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.product_selector_pane label > .title:has( > .tip ) {
  justify-content: center;
}
.product_selector_pane label[data-title]::after,
.product_selector_pane label > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: normal;
  width: 100%;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.product_selector_pane label:has(>:focus:placeholder-shown)::after,
.product_selector_pane label:has(>:focus:placeholder-shown) > .title {
  opacity: 1;
}
.product_selector_pane.complex {
  right: auto;
  width: 660px;
}
.product_selector_pane.complex .controls .list {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(3, 1fr);
  max-height: var(--vsize, 60vh);
  overflow: hidden;
}
.product_selector_pane.complex .controls .list.scrollable {
  padding-right: 15px;
}
.product_selector_pane.hidden {
  display: none;
}
.product_selector_pane header {
  display: flex;
  gap: 10px;
  align-items: center;
}
.product_selector_pane header :first-child + * {
  margin-left: auto;
}
.product_selector_pane button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  margin-top: 0.5rem;
}
.product_selector_pane button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.product_selector_pane button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.product_selector_pane button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.product_selector_pane button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.product_selector_pane .controls {
  display: flex;
  flex-direction: column;
}
.product_selector_pane .controls .list {
  padding-top: 0;
  gap: 2px;
  display: flex;
  flex-direction: column;
  scroll-behavior: smooth;
}
.product_selector_pane .controls .list .hint {
  min-height: 80px;
  font-size: 1rem;
  padding-left: 20px;
  padding-right: 20px;
  grid-column: 1 / -1;
  justify-content: center;
  text-align: center;
  font-size: 1.2rem;
  pointer-events: none;
  opacity: 0.8;
}
.product_selector_pane .controls .list > * {
  font-size: 15px;
  display: flex;
  gap: 15px;
  align-items: center;
  padding: 0.25rem;
  transition: 300ms;
  cursor: pointer;
}
.product_selector_pane .controls .list > *:hover {
  box-shadow: 0 0 0 1px #F39058 inset;
}
.product_selector_pane .controls .list > *.selected {
  background: #F39058;
  color: black;
}
.product_selector_pane .controls .list > * img {
  height: 32px;
  width: 32px;
}
.product_selector_pane .controls .list > *:has(.params) {
  display: grid;
  grid-template-columns: min-content 1fr;
  grid-template-rows: auto min-content;
  gap: 5px 15px;
}
.product_selector_pane .controls .list > *:has(.params) .params {
  font-size: 13px;
  display: flex;
  margin: 0;
  grid-column: 1 / span 2;
  justify-content: center;
  opacity: 0.85;
}
.product_selector_pane .controls .list > *:has(.params) .params dd {
  margin-left: 0.5ch;
}
.product_selector_pane .controls .list > *:has(.params) .params dt ~ dt {
  margin-left: 1ch;
}
.display_settings {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.display_settings .view_mode {
  display: flex;
  flex-direction: column;
}
.display_settings > * > button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 0;
  padding: 0;
  width: 40px;
  aspect-ratio: 1/1;
}
.display_settings > * > button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
.display_settings > * > button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
.display_settings > * > button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.display_settings > * > button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.display_settings > * > button span[data-label]::before {
  content: attr(data-label);
}
.display_settings > * > button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.display_settings > * > button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.display_settings > * > button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.display_settings > * > button.confirmation_required.cancel {
  color: red;
}
.breadcrumbs {
  display: flex;
  gap: 0.5rem;
  font-size: 0.9rem;
  color: white;
  font-weight: 500;
  opacity: 0.5;
  text-transform: lowercase;
  font-variant: small-caps;
  margin-bottom: -0.5rem;
}
.breadcrumbs span {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.breadcrumbs span:not(:last-child)::after {
  content: ' :: ';
}
.text p .iconset {
  display: inline-flex;
  gap: 0.25rem;
  vertical-align: middle;
  padding: 0 0.5rem;
}
.text p .iconset > span {
  opacity: 0.5;
  transition: 300ms;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: relative;
}
.text p .iconset > span:hover {
  opacity: 1;
}
.text p .iconset > span > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.text p .iconset > span > .title > span:not(.tip)::before {
  content: ' • ';
}
.text p .iconset > span > .title > span:nth-child(2) {
  font-weight: 700;
}
.text p .iconset > span > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.text p .iconset > span > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.text p .iconset > span > .title:has( > .tip ) {
  justify-content: center;
}
.text p .iconset > span[data-title]::after,
.text p .iconset > span > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.text p .iconset > span:hover::after,
.text p .iconset > span:hover > .title {
  opacity: 1;
}
.text p a,
.text li a {
  color: #F39058;
}
.text p a:hover,
.text li a:hover {
  text-decoration: underline;
}
div.feedback h2 {
  text-align: center;
}
div.feedback .form {
  max-width: 650px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  position: relative;
}
div.feedback .form label {
  display: flex;
  flex-direction: column-reverse;
  align-items: stretch;
  gap: 0.25ch;
  padding: 0;
}
div.feedback .form label span {
  text-align: left;
}
div.feedback .form label input[required] + span::after,
div.feedback .form label textarea[required] + span::after {
  content: ' *';
  color: #F39058;
}
div.feedback .form label textarea {
  margin: 0;
  flex: 1 1 200px;
}
div.feedback .form button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  min-height: 40px;
}
div.feedback .form button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
div.feedback .form button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
div.feedback .form button::before {
  content: '';
  position: absolute;
  inset: 0;
}
div.feedback .form button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
div.feedback .form button span[data-label]::before {
  content: attr(data-label);
}
div.feedback .form button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
div.feedback .form button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
div.feedback .form button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
div.feedback .form button.confirmation_required.cancel {
  color: red;
}
div.feedback .form button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
div.feedback .form button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
div.feedback .form button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
div.feedback .form button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
div.feedback .form button.in_progress {
  pointer-events: none;
}
div.feedback .form button.in_progress::before,
div.feedback .form button.in_progress::after {
  filter: grayscale(100%);
}
div.feedback .form .report {
  position: absolute;
  inset: -2px;
  background: #191410;
  z-index: 450;
  border: 2px solid rgba(208, 92, 59, 0.3);
  display: flex;
  flex-direction: column;
  gap: 2rem;
  align-items: center;
  justify-content: center;
  font-size: 1.4rem;
}
div.feedback .form .report button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
div.feedback .form .report button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
div.feedback .form .report button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
div.feedback .form .report button::before {
  content: '';
  position: absolute;
  inset: 0;
}
div.feedback .form .report button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
div.feedback .form .report button span[data-label]::before {
  content: attr(data-label);
}
div.feedback .form .report button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
div.feedback .form .report button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
div.feedback .form .report button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
div.feedback .form .report button.confirmation_required.cancel {
  color: red;
}
div.feedback .form .report button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
div.feedback .form .report button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
div.feedback .form .report button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
div.feedback .form .report button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
.production_plan {
  flex: 1;
  display: flex;
  gap: 5px;
  overflow: hidden;
}
.production_plan:has(>.loading) {
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.production_plan > :not(.loading) {
  border: 1px solid rgba(208, 92, 59, 0.65);
}
.production_plan .drop_down_menu {
  height: 20px;
  align-self: center;
}
.production_plan > .product_selector {
  position: relative;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  align-self: stretch;
}
.production_plan > .product_selector > button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  margin: 10px auto;
  padding: 0.5rem;
  width: auto;
  line-height: normal;
  white-space: nowrap;
}
.production_plan > .product_selector > button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.production_plan > .product_selector > button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.production_plan > .product_selector > button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.production_plan > .product_selector > button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
.production_plan > .product_selector .product_selector_pane {
  top: auto;
}
.production_plan .head {
  max-width: 450px;
}
.production_plan .head .prices_table {
  grid-template-columns: 1fr min-content min-content min-content min-content 20px;
  padding-right: 0;
}
.production_plan .head .prices_table.in_stock {
  grid-template-columns: 100px min-content min-content min-content min-content auto 20px;
}
.production_plan .head .prices_table label {
  align-self: center;
}
.production_plan .head.scrollable,
.production_plan .tail.scrollable {
  padding-right: 11px;
}
.production_plan .head.scrollable + .humble_scroll_bar,
.production_plan .tail.scrollable + .humble_scroll_bar {
  border-top: none;
  border-bottom: none;
  background-repeat: no-repeat;
  --top: 7px;
}
.production_plan .head,
.production_plan .tail {
  border-top: 2px solid rgba(208, 92, 59, 0.65);
  overflow: hidden;
  scroll-behavior: smooth;
  flex-shrink: 0;
}
.production_plan .head .no_data,
.production_plan .tail .no_data {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 50px;
  text-transform: uppercase;
  opacity: 0.25;
  font-weight: 500;
  font-size: 14px;
}
.production_plan .head .subsection,
.production_plan .tail .subsection {
  position: relative;
}
.production_plan .head .subsection .spinning,
.production_plan .tail .subsection .spinning {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%);
}
.production_plan .head .subsection .spinning ~ *,
.production_plan .tail .subsection .spinning ~ * {
  opacity: 0.2;
  pointer-events: none;
  filter: grayscale(100%) brightness(80%);
  transition: 300ms;
}
.production_plan .head .subsection > header,
.production_plan .tail .subsection > header {
  display: flex;
  align-items: center;
}
.production_plan .head .subsection > header > span:first-child,
.production_plan .tail .subsection > header > span:first-child {
  text-transform: uppercase;
  font-weight: 600;
  color: #F39058;
  padding: 2px 5px;
  font-variant: small-caps;
}
.production_plan .head .subsection > header[data-title],
.production_plan .tail .subsection > header[data-title] {
  cursor: pointer;
  position: relative;
}
.production_plan .head .subsection > header[data-title] > .title,
.production_plan .tail .subsection > header[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .head .subsection > header[data-title] > .title > span:not(.tip)::before,
.production_plan .tail .subsection > header[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .head .subsection > header[data-title] > .title > span:nth-child(2),
.production_plan .tail .subsection > header[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .head .subsection > header[data-title] > .title > span:nth-child(2) ~ span,
.production_plan .tail .subsection > header[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .head .subsection > header[data-title] > .title > .tip,
.production_plan .tail .subsection > header[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .head .subsection > header[data-title] > .title:has( > .tip ),
.production_plan .tail .subsection > header[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .head .subsection > header[data-title][data-title]::after,
.production_plan .tail .subsection > header[data-title][data-title]::after,
.production_plan .head .subsection > header[data-title] > .title,
.production_plan .tail .subsection > header[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  opacity: 0;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: 'nowrap';
  top: calc(100% + 5px);
  right: 0;
  left: auto;
  bottom: auto;
}
.production_plan .head .subsection > header .drop_down_menu,
.production_plan .tail .subsection > header .drop_down_menu {
  font-weight: normal;
  margin-left: auto;
  width: 30px;
  height: auto;
  margin-right: 2px;
}
.production_plan .head .subsection > header .extra_options,
.production_plan .tail .subsection > header .extra_options {
  display: flex;
  align-items: center;
  font-size: 14px;
  gap: 5px;
  margin-top: 2px;
  margin-bottom: 2px;
  flex: 1;
}
.production_plan .head .subsection > header .extra_options > span,
.production_plan .tail .subsection > header .extra_options > span {
  text-transform: uppercase;
  color: #F39058;
  font-weight: 600;
}
.production_plan .head .subsection > header .extra_options .selector,
.production_plan .tail .subsection > header .extra_options .selector {
  flex: 1;
}
.production_plan .head .subsection > header .extra_options .selector > .selected > .controls,
.production_plan .tail .subsection > header .extra_options .selector > .selected > .controls {
  gap: 0;
}
.production_plan .head .subsection > header .extra_options .selector > .selected > .controls a.inactive,
.production_plan .tail .subsection > header .extra_options .selector > .selected > .controls a.inactive {
  display: none;
}
.production_plan .head .subsection > header .extra_options .selector > .selected > .controls .toggle::before,
.production_plan .tail .subsection > header .extra_options .selector > .selected > .controls .toggle::before,
.production_plan .head .subsection > header .extra_options .selector > .selected > .controls .toggle::after,
.production_plan .tail .subsection > header .extra_options .selector > .selected > .controls .toggle::after {
  width: 8px;
}
.production_plan .head .subsection .prices_table,
.production_plan .tail .subsection .prices_table {
  border-top: 2px solid rgba(208, 92, 59, 0.3);
}
.production_plan .head .subsection .prices_table header,
.production_plan .tail .subsection .prices_table header {
  font-size: 14px;
  color: #F39058;
  text-transform: uppercase;
  font-variant: small-caps;
  padding-left: 5px;
  font-weight: 500;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  grid-column: 1 / -1;
}
.production_plan .head .subsection .prices_table header .drop_down_menu,
.production_plan .tail .subsection .prices_table header .drop_down_menu {
  font-weight: normal;
}
.production_plan .head .subsection .total,
.production_plan .tail .subsection .total {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  gap: 5px;
  padding: 5px;
}
.production_plan .head .subsection .total > *,
.production_plan .tail .subsection .total > * {
  display: flex;
  font-size: 15px;
}
.production_plan .head .subsection .total > * strong,
.production_plan .tail .subsection .total > * strong {
  margin-left: auto;
  margin-right: 0.5ch;
  color: #F39058;
}
.production_plan .head .subsection ~ .subsection,
.production_plan .tail .subsection ~ .subsection {
  border-top: 2px solid rgba(208, 92, 59, 0.65);
}
.production_plan .tail .subsection .prices_table {
  grid-template-columns: 100px auto min-content min-content min-content min-content min-content min-content;
  padding-right: 0;
}
.production_plan .tail .subsection .prices_table .header {
  grid-column: 1 / -1;
}
.production_plan .body {
  display: flex;
  border: 1px solid rgba(208, 92, 59, 0.65);
  flex: 1 0 0;
  overflow: hidden;
  scroll-behavior: smooth;
  position: relative;
  gap: 5px;
  padding: 5px;
}
.production_plan .body.scrollable {
  padding-bottom: 15px;
}
.production_plan .body .circle {
  position: relative;
  z-index: 400;
}
.production_plan .body .circle:last-child {
  z-index: 500;
}
.production_plan .body .circle .product_selector {
  margin-left: auto;
  position: relative;
}
.production_plan .body .circle .product_selector > button {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  height: 20px;
  width: 40px;
}
.production_plan .body .circle .product_selector .product_selector_toggle {
  cursor: pointer;
  position: relative;
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle .product_selector .product_selector_toggle > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle .product_selector .product_selector_toggle[data-title]::after,
.production_plan .body .circle .product_selector .product_selector_toggle > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  right: 0;
  left: auto;
  bottom: auto;
}
.production_plan .body .circle .product_selector .product_selector_toggle:hover::after,
.production_plan .body .circle .product_selector .product_selector_toggle:hover > .title {
  opacity: 1;
}
.production_plan .body .circle .product_selector .product_selector_pane.complex {
  right: 0;
  left: auto;
}
.production_plan .body .circle {
  display: flex;
  flex-direction: column;
  flex: 0 0 260px;
}
.production_plan .body .circle > * {
  border: 1px solid rgba(208, 92, 59, 0.3);
}
.production_plan .body .circle .activities {
  flex: 1 0 0;
  overflow: hidden;
  scroll-behavior: smooth;
  display: flex;
  flex-direction: column;
}
.production_plan .body .circle .activities.scrollable {
  padding-right: 11px;
}
.production_plan .body .circle > footer {
  display: flex;
  margin-top: auto;
  border-top: 4px double rgba(208, 92, 59, 0.7);
  align-items: center;
  padding-right: 5px;
  position: relative;
  z-index: 500;
}
.production_plan .body .circle > footer:has(label) {
  flex-direction: column;
  align-items: stretch;
  padding-top: 5px;
  padding-bottom: 5px;
  gap: 5px;
}
.production_plan .body .circle > footer:has(label) label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
  padding: 2px 5px;
}
.production_plan .body .circle > footer:has(label) label > span {
  flex: 0 0 min-content;
}
.production_plan .body .circle > footer:has(label) label > button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  padding: 2px 5px;
}
.production_plan .body .circle > footer:has(label) label > button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
.production_plan .body .circle > footer:has(label) label > button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
.production_plan .body .circle > footer:has(label) label > button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.production_plan .body .circle > footer:has(label) label > button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.production_plan .body .circle > footer:has(label) label > button span[data-label]::before {
  content: attr(data-label);
}
.production_plan .body .circle > footer:has(label) label > button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.production_plan .body .circle > footer:has(label) label > button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.production_plan .body .circle > footer:has(label) label > button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.production_plan .body .circle > footer:has(label) label > button.confirmation_required.cancel {
  color: red;
}
.production_plan .body .circle > footer:has(label) label input {
  flex: 1 0 0;
  width: 0;
}
.production_plan .body .circle > footer:has(label) label ~ span {
  display: none;
}
.production_plan .body .circle > footer .volume {
  font-size: 13px;
  margin-left: auto;
  margin-right: auto;
}
.production_plan .body .circle > footer .volume:last-child {
  margin-right: 0;
}
.production_plan .body .circle > footer .jobs_amount {
  margin: 0 auto;
  font-size: 13px;
  cursor: pointer;
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  justify-content: center;
}
.production_plan .body .circle > footer .jobs_amount > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle > footer .jobs_amount > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle > footer .jobs_amount > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle > footer .jobs_amount > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle > footer .jobs_amount > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle > footer .jobs_amount > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle > footer .jobs_amount[data-title]::after,
.production_plan .body .circle > footer .jobs_amount > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.production_plan .body .circle > footer .jobs_amount:hover::after,
.production_plan .body .circle > footer .jobs_amount:hover > .title {
  opacity: 1;
}
.production_plan .body .circle > footer .jobs_amount::before {
  content: attr(data-amount);
}
.production_plan .body .circle > footer .jobs_amount[data-amount="0"] {
  display: none;
}
.production_plan .body .circle > footer > a {
  flex: 0 0 30px;
}
.production_plan .body .circle > footer a.collapse,
.production_plan .body .circle > footer a.expand {
  cursor: pointer;
  position: relative;
}
.production_plan .body .circle > footer a.collapse > .title,
.production_plan .body .circle > footer a.expand > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle > footer a.collapse > .title > span:not(.tip)::before,
.production_plan .body .circle > footer a.expand > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle > footer a.collapse > .title > span:nth-child(2),
.production_plan .body .circle > footer a.expand > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle > footer a.collapse > .title > span:nth-child(2) ~ span,
.production_plan .body .circle > footer a.expand > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle > footer a.collapse > .title > .tip,
.production_plan .body .circle > footer a.expand > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle > footer a.collapse > .title:has( > .tip ),
.production_plan .body .circle > footer a.expand > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle > footer a.collapse[data-title]::after,
.production_plan .body .circle > footer a.expand[data-title]::after,
.production_plan .body .circle > footer a.collapse > .title,
.production_plan .body .circle > footer a.expand > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: 0;
  bottom: calc(100% + 5px);
  top: auto;
  right: auto;
  transform: none;
}
.production_plan .body .circle > footer a.collapse:hover::after,
.production_plan .body .circle > footer a.expand:hover::after,
.production_plan .body .circle > footer a.collapse:hover > .title,
.production_plan .body .circle > footer a.expand:hover > .title {
  opacity: 1;
}
.production_plan .body .circle > footer span.icon-iface {
  opacity: 0.75;
  transition: 300ms;
  position: relative;
  cursor: pointer;
}
.production_plan .body .circle > footer span.icon-iface > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle > footer span.icon-iface > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle > footer span.icon-iface > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle > footer span.icon-iface > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle > footer span.icon-iface > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle > footer span.icon-iface > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle > footer span.icon-iface[data-title]::after,
.production_plan .body .circle > footer span.icon-iface > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  right: 0;
  bottom: calc(100% + 5px);
  top: auto;
  left: auto;
  transform: none;
}
.production_plan .body .circle > footer span.icon-iface:hover::after,
.production_plan .body .circle > footer span.icon-iface:hover > .title {
  opacity: 1;
}
.production_plan .body .circle > footer span.icon-iface:hover {
  opacity: 1;
}
.production_plan .body .circle > header {
  padding: 2px 5px;
  display: flex;
  align-items: center;
  gap: 10px;
  border-bottom: 2px solid rgba(208, 92, 59, 0.7);
  position: relative;
  z-index: 700;
}
.production_plan .body .circle > header[data-title] {
  cursor: pointer;
  position: relative;
}
.production_plan .body .circle > header[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle > header[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle > header[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle > header[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle > header[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle > header[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle > header[data-title][data-title]::after,
.production_plan .body .circle > header[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  opacity: 0;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: 'nowrap';
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.production_plan .body .circle > header .drop_down_menu > div {
  left: 0;
  right: auto;
}
.production_plan .body .circle > header > span {
  font-variant: small-caps;
  text-transform: uppercase;
  font-weight: 600;
  color: #F39058;
  line-height: normal;
}
.production_plan .body .circle > header > .filter {
  flex: 1 0 0;
  display: flex;
  position: relative;
}
.production_plan .body .circle > header > .filter label {
  display: flex;
  flex: 1 0 0;
}
.production_plan .body .circle > header > .filter input {
  width: 0;
  flex: 1 0 0;
}
.production_plan .body .circle > header > .filter .reset {
  top: 0;
  height: auto;
}
.production_plan .body .circle .activity {
  display: flex;
  flex-direction: column;
  font-size: 15px;
  position: relative;
  z-index: 400;
  border-top: 2px solid rgba(208, 92, 59, 0.7);
}
.production_plan .body .circle .activity:hover {
  z-index: 450;
}
.production_plan .body .circle .activity:has(>.parameters >.selector.expanded) {
  z-index: 500;
}
.production_plan .body .circle .activity[data-title] {
  cursor: pointer;
  position: relative;
}
.production_plan .body .circle .activity[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle .activity[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle .activity[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle .activity[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle .activity[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle .activity[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle .activity[data-title][data-title]::after,
.production_plan .body .circle .activity[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  opacity: 0;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: 'nowrap';
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.production_plan .body .circle .activity.emphasized {
  box-shadow: 2px 0 0 0 #0FF74D inset;
}
.production_plan .body .circle .activity.emphasized > header .toggle.emphasized {
  opacity: 0.85;
}
.production_plan .body .circle .activity.faded {
  filter: grayscale(100%) brightness(0.5);
}
.production_plan .body .circle .activity.faded > header:hover {
  filter: none;
}
.production_plan .body .circle .activity.faded > header ~ * {
  pointer-events: none;
}
.production_plan .body .circle .activity.faded > header ~ * .toggle.faded {
  opacity: 0.85;
}
.production_plan .body .circle .activity.disabled {
  position: relative;
}
.production_plan .body .circle .activity.disabled .spinning {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%);
}
.production_plan .body .circle .activity.disabled .spinning ~ * {
  opacity: 0.2;
  pointer-events: none;
  filter: grayscale(100%) brightness(80%);
  transition: 300ms;
}
.production_plan .body .circle .activity em {
  font-style: normal;
  color: #F39058;
}
.production_plan .body .circle .activity:not(.collapsed) header::before {
  transform: rotate(90deg);
}
.production_plan .body .circle .activity header {
  background: rgba(255, 255, 255, 0.05);
  display: flex;
  padding: 3px 8px;
  gap: 5px;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  align-items: center;
  transition: 300ms;
  color: inherit;
  font-weight: 500;
  cursor: pointer;
  position: relative;
  z-index: 450;
}
.production_plan .body .circle .activity header::before {
  content: '';
  width: 5px;
  margin-right: 5px;
  border: 4px solid transparent;
  border-left: 5px solid white;
  border-right: none;
  transition: 300ms;
}
.production_plan .body .circle .activity header:hover::before {
  border-left-color: #F39058;
}
.production_plan .body .circle .activity header > .extras {
  --cut-bg: #302C28;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  position: absolute;
  padding: 5px 1rem;
  left: 0;
  right: 0;
  display: none;
  top: calc(100% - 1px);
  gap: 0.5rem;
  align-items: center;
}
.production_plan .body .circle .activity header > .extras::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.production_plan .body .circle .activity header > .extras::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.production_plan .body .circle .activity header > .extras::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.production_plan .body .circle .activity header > .extras::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.production_plan .body .circle .activity header > .extras::before {
  border-top: none;
  border-left: none;
  border-right: none;
}
.production_plan .body .circle .activity header > .extras .toggle {
  opacity: 0.4;
  transition: 300ms;
  cursor: pointer;
  position: relative;
}
.production_plan .body .circle .activity header > .extras .toggle > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.production_plan .body .circle .activity header > .extras .toggle > .title > span:not(.tip)::before {
  content: ' • ';
}
.production_plan .body .circle .activity header > .extras .toggle > .title > span:nth-child(2) {
  font-weight: 700;
}
.production_plan .body .circle .activity header > .extras .toggle > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.production_plan .body .circle .activity header > .extras .toggle > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.production_plan .body .circle .activity header > .extras .toggle > .title:has( > .tip ) {
  justify-content: center;
}
.production_plan .body .circle .activity header > .extras .toggle[data-title]::after,
.production_plan .body .circle .activity header > .extras .toggle > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.production_plan .body .circle .activity header > .extras .toggle:hover::after,
.production_plan .body .circle .activity header > .extras .toggle:hover > .title {
  opacity: 1;
}
.production_plan .body .circle .activity header > .extras .toggle:hover {
  opacity: 1;
}
.production_plan .body .circle .activity header > .extras input {
  width: 0;
  flex: 1 0 0;
  font-size: 14px;
}
.production_plan .body .circle .activity header > .extras input:focus {
  background: rgba(0, 0, 0, 0.45);
}
.production_plan .body .circle .activity header:hover > .extras,
.production_plan .body .circle .activity header:focus-within > .extras {
  display: flex;
}
.production_plan .body .circle .activity header:hover {
  filter: drop-shadow(0 10px 10px rgba(0, 0, 0, 0.65));
}
.production_plan .body .circle .activity header img {
  width: 20px;
}
.production_plan .body .circle .activity header img + span {
  margin-right: 10px;
}
.production_plan .body .circle .activity header > a {
  margin-left: auto;
  flex: 0 0 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.production_plan .body .circle .activity header > a::before {
  content: '';
  position: absolute;
  inset: 0;
}
.production_plan .body .circle .activity header > a span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.production_plan .body .circle .activity header > a span[data-label]::before {
  content: attr(data-label);
}
.production_plan .body .circle .activity header > a.confirmation_required {
  box-shadow: 0 0 0 1px red inset;
  border-radius: 2px;
}
.production_plan .body .circle .activity header > a.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.production_plan .body .circle .activity header > a.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.production_plan .body .circle .activity header > a.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.production_plan .body .circle .activity header > a.confirmation_required.cancel {
  color: red;
}
.production_plan .body .circle .activity header:hover {
  background: #302C28;
}
.production_plan .body .circle .activity header ~ * {
  border-bottom: 1px dashed rgba(208, 92, 59, 0.3);
  font-size: 13px;
  padding: 2px 5px 2px 20px;
}
.production_plan .body .circle .activity .base_settings {
  display: flex;
  font-variant: small-caps;
  text-transform: lowercase;
  gap: 10px;
}
.production_plan .body .circle .activity .details {
  display: flex;
  flex-direction: column;
  gap: 2px;
  text-transform: lowercase;
  font-variant: small-caps;
}
.production_plan .body .circle .activity .details > * {
  display: flex;
  justify-content: space-between;
}
.production_plan .body .circle .activity .details > *:nth-child(2n) {
  background: rgba(255, 255, 255, 0.05);
}
.production_plan .body .circle .activity .details .good {
  color: lightgreen;
}
.production_plan .body .circle .activity .details .nogood {
  color: salmon;
}
.production_plan .body .circle .activity .jobs_groups {
  display: grid;
  grid-template-columns: 1fr auto;
}
.production_plan .body .circle .activity.collapsed:has(.jobs_groups) .jobs_groups ~ :not(.jobs_groups) {
  display: none;
}
.production_plan .body .circle .activity.collapsed:not(:has(.jobs_groups)) .details ~ * {
  display: none;
}
.production_plan .body .circle .activity .parameters,
.production_plan .body .circle .activity .materials {
  display: grid;
  grid-template-columns: auto auto;
  gap: 5px;
}
.production_plan .body .circle .activity .note {
  text-align: center;
  line-height: 3;
  grid-column: 1 / span 2;
  color: salmon;
}
.production_plan .body .circle .activity .materials {
  gap: 0;
}
.production_plan .body .circle .activity .materials > * {
  padding: 2px 4px;
}
.production_plan .body .circle .activity .materials > :nth-child(4n),
.production_plan .body .circle .activity .materials > :nth-child(4n-1) {
  background: rgba(255, 255, 255, 0.05);
}
.production_plan .body .circle .activity .materials > :nth-child(2n) {
  text-align: right;
}
.production_plan .body .circle .activity .parameters {
  padding-left: 5px;
}
.production_plan .body .circle .activity .parameters .selector .default {
  justify-content: flex-start;
}
.production_plan .body .circle .activity .parameters .selector .selected .value {
  align-items: center;
}
.production_plan .body .circle .activity .parameters .selector + .selector {
  margin-top: 0;
}
.production_plan .body .circle .activity .parameters > label {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 5px;
}
.production_plan .body .circle .activity .parameters > label > span {
  justify-content: flex-end;
}
.production_plan .body .circle .activity .parameters > label input {
  flex: 1 0 0;
  width: 0;
}
.production_plan .body .circle .activity .parameters > .selector {
  margin-left: 20px;
}
.production_plan .body .circle .activity .parameters .wide {
  grid-column: 1 / 3;
  display: flex;
  align-items: center;
  margin-left: 20px;
}
.production_plan .body .circle .activity .parameters .wide span {
  justify-content: flex-end;
  flex: 0 0 35%;
  text-align: right;
  text-transform: lowercase;
  font-variant: small-caps;
}
.production_plan .body .circle .activity .parameters .wide input {
  width: 0;
  text-align: right;
}
.production_plan .body .circle .activity .parameters .selector {
  grid-column: 1 / 3;
}
.under_maintenance {
  display: flex;
  width: 100%;
  height: 100%;
  font-size: 32px;
  align-items: center;
  justify-content: center;
}
.floating {
  position: fixed;
  z-index: 800;
  pointer-events: none;
}
.floating .notice {
  display: grid;
  padding: 4px;
  border: 1px solid #F39058;
  min-width: 150px;
  color: white;
  background: #25201C;
  box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.65);
  border-radius: 3px;
  font-size: 13px;
  grid-template-columns: auto auto auto auto;
  gap: 0 5px;
  text-align: left;
}
.floating .notice.warning {
  display: block;
}
.floating .notice > * {
  white-space: nowrap;
}
.floating .notice > strong {
  text-align: left;
}
.floating .notice > span {
  text-align: right;
  justify-content: flex-end;
}
.floating .notice > div {
  grid-column: 1 / 5;
}
.floating .notice > div:not(:last-child) {
  margin-bottom: 4px;
}
.floating .notice > div:last-of-type:not(:only-child) {
  margin: 4px 0;
}
.floating .notice > div:only-child {
  text-align: center;
}
.floating .notice .click {
  color: Aquamarine;
  text-align: right;
}
.floating .notice .emphasis {
  font-weight: 600;
}
.floating .notice .emphasis > span {
  color: #F39058;
}
.floating .notice .comparison {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.floating .notice .comparison > * {
  text-align: left;
}
.floating .notice .comparison > :last-child:not([class]) {
  text-align: right;
  margin-top: 4px;
}
.floating .notice .comparison .good {
  color: lightgreen;
}
.floating .notice .comparison .nogood {
  color: salmon;
}
.alert {
  position: fixed;
  color: white;
  background: rgba(255, 0, 0, 0.85);
  padding: 0.5rem 1rem;
  white-space: nowrap;
  transition: 500ms;
  pointer-events: none;
  opacity: 1;
  margin-left: auto;
  margin-right: auto;
  bottom: 40px;
  z-index: 900;
  left: 50%;
  transform: translate(-50%);
  clip-path: polygon(8px 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%, 0 8px);
}
.alert:not(.active) {
  opacity: 0;
}
.settings .trade_hub.alternatives:not(.bubbling) .selector {
  flex: 1 0 0;
}
.trade_hub {
  position: relative;
}
.trade_hub > a {
  opacity: 0.5;
  cursor: pointer;
  position: relative;
  transition: 300ms;
}
.trade_hub > a > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.trade_hub > a > .title > span:not(.tip)::before {
  content: ' • ';
}
.trade_hub > a > .title > span:nth-child(2) {
  font-weight: 700;
}
.trade_hub > a > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.trade_hub > a > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.trade_hub > a > .title:has( > .tip ) {
  justify-content: center;
}
.trade_hub > a[data-title]::after,
.trade_hub > a > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.trade_hub > a:hover::after,
.trade_hub > a:hover > .title {
  opacity: 1;
}
.trade_hub > a:hover {
  opacity: 1;
}
.trade_hub > :last-child {
  background: #302B28;
  box-shadow: 0 0 30px 20px rgba(0, 0, 0, 0.65);
  border: 1px solid rgba(208, 92, 59, 0.3);
  min-width: 400px;
  position: absolute;
  left: 20px;
  right: 0;
  top: -5px;
  z-index: 850;
  padding-top: 10px;
  display: flex;
  flex-direction: column;
}
.trade_hub > :last-child.hidden {
  display: none;
}
.trade_hub > :last-child input {
  width: 100%;
  text-align: left;
}
.trade_hub .list {
  padding: 10px;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3px;
  font-size: 14px;
  max-height: 40vh;
  overflow: hidden;
  scroll-behavior: smooth;
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  margin-top: 10px;
}
.trade_hub .list .notice {
  color: lightgray;
  font-size: 1.2rem;
  grid-column: 1 / 4;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3lh;
  text-align: center;
}
.trade_hub .list:not(:has(>*)) {
  border: none;
  margin-top: 0;
  padding-bottom: 0;
}
.trade_hub .list:has( + .humble_scroll_bar:not([disabled])) {
  padding-right: 20px;
}
.trade_hub .list .icon-iface {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 4px;
  cursor: pointer;
  border: 1px dotted transparent;
  transition: 300ms;
}
.trade_hub .list .icon-iface[data-isa="station"] {
  grid-column: 1 / 4;
}
.trade_hub .list .icon-iface::before {
  min-width: 26px;
  opacity: 0.35;
}
.trade_hub .list .icon-iface:hover {
  border-color: rgba(255, 255, 255, 0.65);
  border-style: dashed;
}
.trade_hub .list .icon-iface:hover::before {
  opacity: 1;
}
.trade_hub .list .icon-iface > div {
  display: flex;
  flex-direction: column;
}
.trade_hub .list .icon-iface > div > span {
  opacity: 0.65;
  font-variant: small-caps;
}
.form h2 {
  text-transform: uppercase;
  margin: 0;
}
.form .alternatives {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 15px;
}
.form .alternatives:not(.bubbling) {
  justify-content: flex-start;
  padding: 0 1rem;
  gap: 1rem;
}
.form .alternatives:not(.bubbling) > span {
  flex: 0 0 30%;
  text-align: right;
  white-space: nowrap;
}
.form .alternatives:not(.bubbling) .selector {
  flex: 1 0 auto;
}
.form .user_prices {
  --display: flex;
  width: 100%;
  height: 100%;
  gap: 0.5rem;
}
.form .user_prices .listing {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
}
.form .user_prices .listing .elements {
  display: grid;
  grid-template-columns: auto auto auto min-content;
  grid-auto-rows: min-content;
  flex: 1 0 0;
  width: 100%;
  overflow: hidden;
  padding-right: 20px;
  scroll-behavior: smooth;
}
.form .user_prices .listing .elements.in_progress {
  opacity: 0.5;
  pointer-events: none;
}
.form .user_prices .listing .thead {
  text-align: right;
  padding-bottom: 0.3125rem;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
}
.form .user_prices .listing .thead:first-child {
  text-align: center;
}
.form .user_prices .listing .filtered,
.form .user_prices .listing .empty {
  grid-column: 1 / -1;
  min-height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.6rem;
  opacity: 0.65;
}
.form .user_prices .listing .entry {
  display: grid;
  gap: 0 0.25rem;
  grid-column: 1 / -1;
  grid-template-columns: subgrid;
  padding: 0.125rem;
  max-height: 2.5rem;
  overflow: hidden;
}
.form .user_prices .listing .entry.hidden {
  display: none;
}
.form .user_prices .listing .entry + .entry {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
}
.form .user_prices .listing .entry:nth-child(2n) {
  background: rgba(255, 255, 255, 0.05);
}
.form .user_prices .listing .entry span {
  flex: 1 0 0;
  font-size: 0.95rem;
  display: flex;
  align-items: center;
}
.form .user_prices .listing .entry > a {
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  position: relative;
}
.form .user_prices .listing .entry > a::before {
  content: '';
  position: absolute;
  inset: 0;
}
.form .user_prices .listing .entry > a span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.form .user_prices .listing .entry > a span[data-label]::before {
  content: attr(data-label);
}
.form .user_prices .listing .entry > a.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.form .user_prices .listing .entry > a.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.form .user_prices .listing .entry > a.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.form .user_prices .listing .entry > a.confirmation_required.cancel {
  color: red;
}
.form .user_prices .listing .entry input {
  text-align: right;
}
.form .user_prices .listing .entry .number {
  padding: 0;
}
.form .user_prices .listing .entry .number input {
  margin-right: 0;
  width: 100%;
}
.form .user_prices .listing > .controls {
  display: flex;
  justify-content: center;
  gap: 1rem;
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  padding-top: 0.5rem;
  margin-top: 0.5rem;
}
.form .user_prices .listing > .controls [data-title] {
  cursor: pointer;
  position: relative;
}
.form .user_prices .listing > .controls [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.form .user_prices .listing > .controls [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.form .user_prices .listing > .controls [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.form .user_prices .listing > .controls [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.form .user_prices .listing > .controls [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.form .user_prices .listing > .controls [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.form .user_prices .listing > .controls [data-title][data-title]::after,
.form .user_prices .listing > .controls [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.form .user_prices .listing > .controls [data-title]:hover::after,
.form .user_prices .listing > .controls [data-title]:hover > .title {
  opacity: 1;
}
.form .user_prices .listing > .controls button {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
}
.form .user_prices .listing > .controls button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.form .user_prices .listing > .controls button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.form .user_prices .listing > .controls button span[data-label]::before {
  content: attr(data-label);
}
.form .user_prices .listing > .controls button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.form .user_prices .listing > .controls button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.form .user_prices .listing > .controls button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.form .user_prices .listing > .controls button.confirmation_required.cancel {
  color: red;
}
.form .user_prices .listing > .controls button:first-of-type {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.form .user_prices .listing > .controls button:first-of-type::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls button:first-of-type::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls button:first-of-type::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.form .user_prices .listing > .controls button:first-of-type::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type) {
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  position: relative;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type)::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type)::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type)::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type)::before {
  content: '';
  position: absolute;
  inset: 0;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type) span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type) span[data-label]::before {
  content: attr(data-label);
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type).confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type).confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type).confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.form .user_prices .listing > .controls button:last-of-type:not(:only-of-type).confirmation_required.cancel {
  color: red;
}
.form .user_prices .listing > .controls .drop_down_menu {
  aspect-ratio: auto;
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  padding: 0 1rem;
  display: flex;
  gap: 10px;
}
.form .user_prices .listing > .controls .drop_down_menu:hover {
  color: #F39058;
}
.form .user_prices .listing > .controls .drop_down_menu:focus {
  background: #F39058;
  color: black;
}
.form .user_prices .listing > .controls .drop_down_menu > div {
  top: auto;
  bottom: 100%;
}
.form .user_prices .listing > .controls .filter {
  display: flex;
  position: relative;
  margin-left: auto;
  margin-right: auto;
}
.form .user_prices .listing > .controls .filter > a {
  position: absolute;
  left: calc(100% + 5px);
  top: 0;
  bottom: 0;
  aspect-ratio: 1 / 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.form .user_prices .listing > .controls .adding_required {
  display: none;
}
.form .user_prices .listing > .controls.adding {
  position: relative;
  display: flex;
  align-items: center;
  gap: 1rem;
}
.form .user_prices .listing > .controls.adding .adding_required {
  display: flex;
}
.form .user_prices .listing > .controls.adding .adding_required:first-child {
  flex: 1 0 0;
}
.form .user_prices .listing > .controls.adding .adding_required ~ :not(.adding_required) {
  display: none;
}
.form .user_prices .listing > .controls.adding input {
  flex: 1 0 0;
  width: 100%;
}
.form .user_prices .listing > .controls.adding .proposals {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 100%;
  padding: 0.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  background: #25201C;
  border: 1px solid rgba(208, 92, 59, 0.3);
  font-size: 0.85rem;
}
.form .user_prices .listing > .controls.adding .proposals:not(.complex) > :hover {
  color: #F39058;
  cursor: pointer;
}
.form .user_prices .listing > .controls.adding .proposals .empty {
  width: 100%;
  height: 2rem;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.2rem;
  pointer-events: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex {
  display: flex;
  flex-direction: column;
  height: 235px;
  padding: 0;
  bottom: 0;
  box-shadow: 0 0 10px 10px rgba(0, 0, 0, 0.65);
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls {
  padding: 0.5rem;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  display: flex;
  gap: 0.5rem;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:not(:first-child):not(:last-child) {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child {
  margin-right: auto;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:first-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child {
  margin-left: auto;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.form .user_prices .listing > .controls.adding .proposals.complex > .controls button:last-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list {
  flex: 1 0 0;
  overflow: hidden;
  padding-right: 10px;
  scroll-behavior: smooth;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.25rem;
  padding: 0.25rem calc(10px + 0.25rem) 0.25rem 0.25rem;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list > * {
  display: flex;
  align-items: center;
  padding: 0.125rem 0.125rem;
  gap: 0.5rem;
  border: 1px solid rgba(208, 92, 59, 0.3);
  opacity: 0.5;
  transition: 300ms;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list > *::before {
  content: '';
  width: 8px;
  height: 8px;
  border: 1px solid #F39058;
  border-radius: 100%;
  transition: 300ms;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list > *:hover {
  color: #F39058;
  cursor: pointer;
  opacity: 1;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list > .involved {
  opacity: 1;
}
.form .user_prices .listing > .controls.adding .proposals.complex > .list > .involved::before {
  background: #F39058;
}
.form .user_prices .listing > .controls > .hidden {
  display: none;
}
.form .bubbling {
  position: absolute;
  right: 15px;
  top: 10px;
  z-index: 500;
}
.form .bubbling .selector {
  min-width: 370px;
}
.form .character > div:last-child {
  --cut-bg: transparent;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  z-index: 550;
}
.form .character > div:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .character > div:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .character > div:last-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.form .character > div:last-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.form .character > div:last-child .tabbed {
  border: none;
}
.form .range {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.form .range::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.form .range::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.form .range::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.form .range::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.form .set {
  --display: grid;
  gap: 5px;
  padding-bottom: 5px;
  grid-template-columns: repeat(3, 1fr);
}
.form .set > div:nth-of-type( 3n - 2 ) {
  margin-left: 5px;
}
.form .set > div:nth-of-type( 3n ) {
  margin-right: 5px;
}
.form .set .range + .range {
  margin-top: 0;
}
.form label {
  display: flex;
  align-items: center;
  padding: 0 1rem;
  justify-content: flex-start;
  gap: 1rem;
}
.form label > span {
  flex: 0 0 30%;
  text-align: right;
}
.form label > input {
  min-width: 0;
  width: auto;
}
.form label.percent span {
  white-space: nowrap;
}
.form label.percent input {
  width: 5em;
  margin-right: 0;
  text-align: right;
}
.form .exclusive_selector {
  display: flex;
  align-items: baseline;
  gap: 1rem;
  font-size: 0.9em;
}
.form .exclusive_selector > h4 {
  flex: 0 0 auto;
}
.form .exclusive_selector > :last-child {
  flex: 1 0 auto;
}
.form .exclusive_selector .selected input {
  font-size: 0.9em;
}
.form .exclusive_selector .selected > .controls .toggle {
  width: 16px;
  height: 16px;
}
.form .exclusive_selector .selector.expanded ~ .selector {
  opacity: 0;
  pointer-events: none;
}
.form .location_and_facility.box:not(.controls) {
  gap: 0.375rem 1rem;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content {
  overflow: visible;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group {
  --display: grid;
  grid-template-columns: 65% auto;
  grid-template-rows: min-content min-content 1fr;
  align-content: start;
  height: 100%;
  max-height: 100%;
  gap: 0.5rem 0;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group .group {
  --display: flex;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > * {
  grid-column: 1 / 3;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .group.line {
  grid-column: 1 / 2;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .alternatives {
  grid-column: 1 / 2;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .alternatives > span {
  flex: 0 0 auto;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .percent {
  grid-column: 2 / 3;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .percent:not(:nth-child(2)) {
  grid-row: 2;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group > .percent > :first-child {
  margin-left: auto;
}
.form .location_and_facility.box:not(.controls) > .tabbed > .content > .group .filtered > div {
  flex: 1 0 0;
  overflow: hidden;
  scroll-behavior: smooth;
}
.form > .box.market .tabbed > .content {
  overflow: visible;
}
.catalog {
  flex: 0 0 20%;
  height: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border-right: 1px solid #4E281C;
}
.catalog.narrow {
  flex: 0 0 12.5%;
}
.catalog > * {
  max-height: 100%;
}
.catalog > .spinning {
  margin-top: auto;
  margin-bottom: auto;
}
.catalog .search {
  padding: 5px;
  margin-bottom: 5px;
  display: flex;
  gap: 5px;
  position: relative;
}
.catalog .search label {
  flex: 1;
  display: flex;
  cursor: pointer;
  position: relative;
  position: static;
}
.catalog .search label > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.catalog .search label > .title > span:not(.tip)::before {
  content: ' • ';
}
.catalog .search label > .title > span:nth-child(2) {
  font-weight: 700;
}
.catalog .search label > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.catalog .search label > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.catalog .search label > .title:has( > .tip ) {
  justify-content: center;
}
.catalog .search label[data-title]::after,
.catalog .search label > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.catalog .search label:has(>:focus:placeholder-shown)::after,
.catalog .search label:has(>:focus:placeholder-shown) > .title,
.catalog .search label:hover::after,
.catalog .search label:hover > .title {
  opacity: 1;
}
.catalog .search label input {
  flex: 1;
}
.catalog .search button {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
}
.catalog.tabbed > header {
  font-size: medium;
}
.catalog.tabbed > header nav {
  margin: 0;
  flex: 1;
}
.catalog.tabbed > header * {
  transition: 300ms;
  display: flex;
  gap: 1rem;
  align-items: center;
  text-align: center;
  justify-content: center;
}
.catalog.tabbed > header .active {
  box-shadow: 0 2px 0 0 #9D452D inset;
  background: #191410;
  border-bottom-color: transparent;
  flex: 1 0 auto;
}
.catalog.tabbed > .content {
  padding: 2px 0;
}
.modal {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 750;
}
.modal:empty {
  display: none;
}
.modal.anchored {
  inset: auto;
  transform: translate(-50%, -50%);
}
.esi_transactions_loader {
  background: #191410;
  display: flex;
  flex-direction: column;
  max-height: 90vh;
  overflow: hidden;
}
.esi_transactions_loader header {
  padding: 20px;
  font-variant: small-caps;
  border-bottom: 1px solid rgba(255, 255, 255, 0.65);
  flex: 1 0 auto;
}
.esi_transactions_loader header .spinning {
  width: auto;
}
.esi_transactions_loader header span {
  font-size: 1rem;
}
.esi_transactions_loader footer {
  display: flex;
  padding: 10px;
  border-top: 1px solid rgba(208, 92, 59, 0.3);
  flex: 1 0 auto;
}
.esi_transactions_loader footer:empty {
  display: none;
}
.esi_transactions_loader footer > :first-child {
  margin-right: auto;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.esi_transactions_loader footer > :first-child::before {
  content: '';
  position: absolute;
  inset: 0;
}
.esi_transactions_loader footer > :first-child span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.esi_transactions_loader footer > :first-child span[data-label]::before {
  content: attr(data-label);
}
.esi_transactions_loader footer > :first-child.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.esi_transactions_loader footer > :first-child.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.esi_transactions_loader footer > :first-child.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.esi_transactions_loader footer > :first-child.confirmation_required.cancel {
  color: red;
}
.esi_transactions_loader footer > :first-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.esi_transactions_loader footer > :first-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.esi_transactions_loader footer > :first-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.esi_transactions_loader footer > :first-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.esi_transactions_loader footer > span {
  display: flex;
  gap: 25px;
}
.esi_transactions_loader footer > span label {
  font-size: 16px;
  display: flex;
  font-variant: small-caps;
}
.esi_transactions_loader footer > span button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.esi_transactions_loader footer > span button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.esi_transactions_loader footer > span button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.esi_transactions_loader footer > span button span[data-label]::before {
  content: attr(data-label);
}
.esi_transactions_loader footer > span button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.esi_transactions_loader footer > span button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.esi_transactions_loader footer > span button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.esi_transactions_loader footer > span button.confirmation_required.cancel {
  color: red;
}
.esi_transactions_loader footer > span button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.esi_transactions_loader footer > span button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.esi_transactions_loader footer > span button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.esi_transactions_loader footer > span button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.esi_transactions_loader .error {
  color: red;
  display: flex;
  align-items: center;
  margin-left: auto;
  margin-right: auto;
}
.esi_transactions_loader > header + div {
  flex: 1 1 auto;
  overflow: hidden;
  scroll-behavior: smooth;
}
.esi_transactions_loader .characters {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
  padding: 1em;
  gap: 1em;
}
.esi_transactions_loader .characters > * {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem;
  transition: 300ms;
  width: calc(164px + 1rem);
  overflow: hidden;
  cursor: pointer;
}
.esi_transactions_loader .characters > *.selected {
  background: rgba(243, 144, 88, 0.75);
  color: black;
}
.esi_transactions_loader .characters > * img {
  width: 164px;
}
.esi_transactions_loader .characters > * span {
  text-align: center;
}
.esi_transactions_loader .items {
  display: grid;
  grid-template-columns: 32px auto 100px auto
			32px auto 100px auto
			32px auto 100px auto
			32px auto 100px auto;
  gap: 4px 8px;
  padding: 20px;
}
.esi_transactions_loader .items > * {
  padding: 2px 4px;
  display: grid;
  grid-column: span 4;
  grid-template-columns: subgrid;
  gap: 10px;
  font-size: 14px;
  background: rgba(255, 255, 255, 0.05);
  align-items: center;
}
.esi_transactions_loader .items > * img {
  width: 32px;
}
.esi_transactions_loader .items > * .progress {
  width: 100px;
  height: 25px;
  margin-left: auto;
  border: 1px solid #F39058;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  text-shadow: 0 0 2px black;
  font-size: 12px;
  white-space: nowrap;
}
.esi_transactions_loader .items > * .progress::before {
  content: '';
  left: 0;
  top: 0;
  bottom: 0;
  width: var(--loaded);
  position: absolute;
  z-index: -100;
  background: SteelBlue;
}
.esi_transactions_loader .items > * > :last-child {
  min-width: 40px;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  cursor: default;
}
.modal .expenses_calculator {
  height: 100%;
  width: 100%;
}
.modal .expenses_calculator .copy {
  transition: 3000ms;
}
.modal .expenses_calculator .copy.copied {
  color: forestgreen;
  transition: 100ms;
}
.modal .expenses_calculator .copy_complex {
  position: relative;
  cursor: pointer;
  margin-right: 0.5rem;
}
.modal .expenses_calculator .copy_complex.copied > div > span {
  transition: 100ms;
  color: forestgreen;
}
.modal .expenses_calculator .copy_complex > div {
  position: absolute;
  display: none;
  right: calc(100% - 1px);
  top: -7px;
  background: #25201C;
  border: 1px solid #D05C3B;
  padding: 0.5rem;
  border-radius: 3px 0 3px 3px;
  box-shadow: 0 0 10px 8px rgba(0, 0, 0, 0.65);
  flex-direction: column;
}
.modal .expenses_calculator .copy_complex > div > span {
  position: absolute;
  left: 100%;
  top: -1px;
  padding-top: 6px;
  padding-bottom: 4px;
  padding-right: 5px;
  border: 1px solid #D05C3B;
  border-left: none;
  border-radius: 0 3px 3px 0;
  background: #25201C;
  transition: 3000ms;
}
.modal .expenses_calculator .copy_complex > div a {
  white-space: nowrap;
  font-weight: normal;
  text-decoration: none;
  line-height: 2rem;
  text-transform: none;
}
.modal .expenses_calculator .copy_complex > div a:hover {
  color: #F39058;
}
.modal .expenses_calculator .copy_complex:focus > div,
.modal .expenses_calculator .copy_complex:focus-within > div,
.modal .expenses_calculator .copy_complex > div:hover {
  display: flex;
}
.modal .expenses_calculator .body {
  display: flex;
  background: #191410;
  overflow: hidden;
}
.modal .expenses_calculator .body > :not(:last-child) {
  border-right: 1px solid rgba(208, 92, 59, 0.3);
}
.modal .expenses_calculator .body .table {
  width: 100%;
  align-content: start;
  display: grid;
  position: relative;
  z-index: 400;
  overflow: hidden;
  scroll-behavior: smooth;
}
.modal .expenses_calculator .body .table + .humble_scroll_bar {
  z-index: 500;
}
.modal .expenses_calculator .body .table .controls {
  display: flex;
  align-content: inherit;
  gap: 1ch;
}
.modal .expenses_calculator .body .table .controls > * {
  cursor: pointer;
  transition: 300ms;
  user-select: none;
}
.modal .expenses_calculator .body .table .toggle {
  opacity: 0.65;
}
.modal .expenses_calculator .body .table .toggle.enabled {
  opacity: 1;
}
.modal .expenses_calculator .body .table .total {
  justify-content: flex-end;
}
.modal .expenses_calculator .body .table .label {
  justify-content: flex-start;
}
.modal .expenses_calculator .body .table .overall > * {
  font-weight: bold;
  color: #F39058;
  padding-bottom: 1rem;
}
.modal .expenses_calculator .body .table .overall > :nth-last-child(2) {
  grid-column: 2 / -2;
  justify-content: flex-end;
}
.modal .expenses_calculator .body .table > h3 {
  display: flex;
  font-size: 1rem;
  text-transform: uppercase;
  justify-content: space-between;
  padding: 0.5rem;
  background: #191410;
  margin: 0;
  border-bottom: 1px solid #25201C;
  position: sticky;
  top: 0;
  z-index: 500;
}
.modal .expenses_calculator .body .table span,
.modal .expenses_calculator .body .table label {
  display: flex;
}
.modal .expenses_calculator .body .table > header {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  font-size: 14px;
  text-transform: uppercase;
}
.modal .expenses_calculator .body .table > header > * {
  padding: 0.5rem 0.5rem;
  position: sticky;
  top: 35px;
  background: #191410;
  z-index: 400;
}
.modal .expenses_calculator .body .table > header ~ * {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}
.modal .expenses_calculator .body .table > header ~ * > * {
  font-size: 14px;
  padding: 0.5em 0.5rem;
}
.modal .expenses_calculator .body .table > header ~ * > * ~ * {
  text-align: center;
}
.modal .expenses_calculator .body .table > * > * {
  border-bottom: 1px dashed rgba(208, 92, 59, 0.3);
}
.modal .expenses_calculator .body .table .no_data {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  font-size: 32px;
  text-align: center;
  opacity: 0.25;
}
.modal .expenses_calculator .body .prices {
  flex: 0 0 20%;
  grid-template-columns: repeat(4, auto);
}
.modal .expenses_calculator .body .prices > h3,
.modal .expenses_calculator .body .prices .no_data {
  grid-column: 1 / 5;
}
.modal .expenses_calculator .body .summaries {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
  height: 100%;
}
.modal .expenses_calculator .body .summaries > * {
  flex: 0 0 50%;
}
.modal .expenses_calculator .body .summaries > :first-child ~ * {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
}
.modal .expenses_calculator .body .summaries .materials {
  grid-template-columns: repeat(3, auto) min-content;
}
.modal .expenses_calculator .body .summaries .materials > h3,
.modal .expenses_calculator .body .summaries .materials .no_data {
  grid-column: 1 / -1;
}
.modal .expenses_calculator .body .summaries .costs {
  grid-template-columns: repeat(7, auto);
}
.modal .expenses_calculator .body .summaries .costs > h3,
.modal .expenses_calculator .body .summaries .costs .no_data {
  grid-column: 1 / -1;
}
.modal .expenses_calculator .body .summaries .costs span,
.modal .expenses_calculator .body .summaries .costs a,
.modal .expenses_calculator .body .summaries .costs label {
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal .expenses_calculator .body .summaries .costs input.narrow {
  width: 50px;
}
.modal .expenses_calculator .body .summaries .costs input.medium {
  width: 100px;
}
.modal .expenses_calculator .body .summaries .costs > div:nth-of-type(3) ~ div .got_missing > div {
  top: auto;
  bottom: 100%;
}
.modal .expenses_calculator .body .summaries .costs .got_missing {
  position: relative;
  background: rgba(255, 0, 0, 0.15);
}
.modal .expenses_calculator .body .summaries .costs .got_missing > div {
  position: absolute;
  top: 100%;
  right: 0;
  display: grid;
  grid-template-columns: repeat(8, auto);
  pointer-events: none;
  opacity: 0;
  background: rgba(255, 0, 0, 0.05);
  border: 2px solid rgba(255, 0, 0, 0.35);
  z-index: 350;
}
.modal .expenses_calculator .body .summaries .costs .got_missing > div > * {
  justify-content: flex-start;
  padding: 0.25rem 0.5rem;
  white-space: nowrap;
}
.modal .expenses_calculator .body .summaries .costs .got_missing > div h4 {
  text-transform: uppercase;
  font-size: 14px;
  text-align: center;
  margin-bottom: 0;
  grid-column: 1 / -1;
  background: #25130F;
}
.modal .expenses_calculator .body .summaries .costs .got_missing > div > span {
  background: #25130F;
}
.modal .expenses_calculator .body .summaries .costs .got_missing > div > span:nth-child(2n) {
  background: #30120E;
}
.modal .expenses_calculator .body .summaries .costs .got_missing:hover > div {
  opacity: 1;
}
.modal .expenses_calculator .body .paste_area {
  flex: 0 0 40%;
  display: flex;
  justify-content: center;
  position: relative;
}
.modal .expenses_calculator .body .paste_area textarea {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
}
.modal .expenses_calculator .body .paste_area::before {
  content: attr(data-focus-me);
  font-size: 32px;
  text-align: center;
  margin: 1em;
  left: 0;
  right: 0;
  padding-left: 15%;
  padding-right: 15%;
  border: 2px solid transparent;
  border-radius: 10px / 5px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  text-shadow: 0 0 35px #191410;
  transition: 300ms;
}
.modal .expenses_calculator .body .paste_area:focus-within::before {
  content: attr(data-hint);
  border: 2px solid #F39058;
}
.modal .expenses_calculator .body .paste_area .paste_log {
  position: absolute;
  top: 4rem;
  bottom: 4rem;
  overflow: hidden;
  align-content: end;
  font-size: 12px;
  pointer-events: none;
  opacity: 0.2;
  filter: blur(0.65px);
  display: grid;
  grid-template-columns: auto auto auto;
  gap: 0.5em 2rem;
}
.modal .expenses_calculator .body .paste_area .paste_log::before {
  content: '';
  position: absolute;
  left: 0;
  top: 0;
  right: 0;
  height: 120px;
  background: linear-gradient(to bottom, #191410, transparent);
}
.modal .stash_manager {
  height: 100%;
  width: 100%;
  user-select: none;
}
.modal .stash_manager .body {
  display: flex;
  overflow: hidden;
}
.modal .stash_manager .body:has( > .contents > .loading) {
  pointer-events: none;
}
.modal .stash_manager .body:has( > .contents > .loading) > .groups_index {
  filter: grayscale(100%);
}
.modal .stash_manager .body:has( > .contents > .loading) .loading ~ * {
  filter: grayscale(100%);
  opacity: 0.65;
}
.modal .stash_manager .body .loading {
  position: absolute;
  left: 50%;
  top: 50%;
}
.modal .stash_manager .notification {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.modal .stash_manager .notification .miniform {
  width: 480px;
  max-width: 480px;
  align-self: center;
}
.modal .stash_manager .groups_index {
  flex: 0 0 20%;
  padding: 0.25rem;
  border-right: 1px solid rgba(208, 92, 59, 0.3);
}
.modal .stash_manager .contents {
  height: 100%;
  flex: 1;
  padding: 10px;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-content: start;
  gap: 5px;
  overflow: hidden;
  scroll-behavior: smooth;
}
.modal .stash_manager .contents:has(>.notification) {
  flex-direction: column;
  display: flex;
}
.modal .stash_manager .contents:has( + .humble_scroll_bar) {
  padding-right: 20px;
}
.modal .stash_manager .contents .item {
  display: grid;
  grid-template-columns: 48px 1fr 1fr;
  gap: 10px 5px;
  align-items: start;
  align-content: start;
  padding: 5px;
  border: 1px solid rgba(208, 92, 59, 0.3);
  background: rgba(255, 255, 255, 0.05);
  position: relative;
  cursor: pointer;
}
.modal .stash_manager .contents .item:hover {
  z-index: 450;
}
.modal .stash_manager .contents .item.selected {
  border-color: #F39058;
  box-shadow: 0 0 5px 0 #F39058 inset;
}
.modal .stash_manager .contents .item.dragging {
  opacity: 0.5;
}
.modal .stash_manager .contents .item img {
  grid-row: 1 / 3;
  width: 48px;
  height: 100%;
  object-fit: contain;
}
.modal .stash_manager .contents .item > span:first-of-type {
  grid-column: 2 / 4;
}
.modal .stash_manager .contents .item > span:first-of-type:has( ~ span > .reservations ) {
  color: #F39058;
}
.modal .stash_manager .contents .item span[data-prefix] {
  font-size: 15px;
  opacity: 0.95;
  display: flex;
  align-items: center;
  gap: 1ch;
}
.modal .stash_manager .contents .item span[data-prefix]::before {
  content: attr(data-prefix);
  font-variant: small-caps;
  opacity: 0.7;
  text-transform: lowercase;
}
.modal .stash_manager .contents .item span[data-prefix] + span[data-prefix] {
  margin-left: 10px;
  margin-top: 0;
}
.modal .stash_manager .contents .item span[data-prefix]:has( > .reservations ) {
  display: grid;
  grid-template-columns: min-content auto;
}
.modal .stash_manager .contents .item span[data-prefix] .reservations {
  color: #F39058;
  font-size: 0.85em;
  position: relative;
  flex: 1 0 100%;
  grid-column: 1 / 3;
}
.modal .stash_manager .contents .item span[data-prefix] .reservations:hover > span {
  opacity: 1;
}
.modal .stash_manager .contents .item span[data-prefix] .reservations > span {
  position: absolute;
  opacity: 0;
  top: calc(100% + 10px);
  left: 0;
  pointer-events: none;
  background: #25201C;
  padding: 1em;
  border: 1px solid #F39058;
  box-shadow: 0 0 5px 0 #F39058;
  border-radius: 5px;
  color: white;
  display: grid;
  grid-template-columns: auto min-content;
  gap: 4px;
}
.modal .stash_manager .contents .item span[data-prefix] .reservations > span > * {
  white-space: nowrap;
}
.modal .stash_manager .contents .item span[data-prefix] .reservations > span > * strong {
  color: #F39058;
}
.modal .stash_manager .contents .item input {
  width: 100%;
}
.modal .stash_manager .contents .item .cancel {
  position: absolute;
  right: 1px;
  top: 1px;
  width: 24px;
  height: 24px;
  margin-right: 0;
}
.modal .stash_manager .contents .control_pane {
  padding: 5px;
  background: #25201C;
  display: flex;
  margin-bottom: 10px;
  gap: 20px;
  grid-row: 1;
  grid-column: 1 / -1;
  order: -100;
  border: 1px solid rgba(208, 92, 59, 0.3);
}
.modal .stash_manager .contents .control_pane a {
  cursor: pointer;
  position: relative;
  padding: 5px;
  opacity: 0.65;
  transition: 300ms;
}
.modal .stash_manager .contents .control_pane a > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.modal .stash_manager .contents .control_pane a > .title > span:not(.tip)::before {
  content: ' • ';
}
.modal .stash_manager .contents .control_pane a > .title > span:nth-child(2) {
  font-weight: 700;
}
.modal .stash_manager .contents .control_pane a > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.modal .stash_manager .contents .control_pane a > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.modal .stash_manager .contents .control_pane a > .title:has( > .tip ) {
  justify-content: center;
}
.modal .stash_manager .contents .control_pane a[data-title]::after,
.modal .stash_manager .contents .control_pane a > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.modal .stash_manager .contents .control_pane a:hover::after,
.modal .stash_manager .contents .control_pane a:hover > .title {
  opacity: 1;
}
.modal .stash_manager .contents .control_pane a:hover {
  opacity: 1;
}
.modal .stash_manager .contents .control_pane nav {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
}
.modal .stash_manager .contents .control_pane nav button {
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  cursor: pointer;
  position: relative;
}
.modal .stash_manager .contents .control_pane nav button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.modal .stash_manager .contents .control_pane nav button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.modal .stash_manager .contents .control_pane nav button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.modal .stash_manager .contents .control_pane nav button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.modal .stash_manager .contents .control_pane nav button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.modal .stash_manager .contents .control_pane nav button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.modal .stash_manager .contents .control_pane nav button span[data-label]::before {
  content: attr(data-label);
}
.modal .stash_manager .contents .control_pane nav button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.modal .stash_manager .contents .control_pane nav button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.modal .stash_manager .contents .control_pane nav button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.modal .stash_manager .contents .control_pane nav button.confirmation_required.cancel {
  color: red;
}
.modal .stash_manager .contents .control_pane nav button > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.modal .stash_manager .contents .control_pane nav button > .title > span:not(.tip)::before {
  content: ' • ';
}
.modal .stash_manager .contents .control_pane nav button > .title > span:nth-child(2) {
  font-weight: 700;
}
.modal .stash_manager .contents .control_pane nav button > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.modal .stash_manager .contents .control_pane nav button > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.modal .stash_manager .contents .control_pane nav button > .title:has( > .tip ) {
  justify-content: center;
}
.modal .stash_manager .contents .control_pane nav button[data-title]::after,
.modal .stash_manager .contents .control_pane nav button > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: normal;
  width: 100%;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.modal .stash_manager .contents .control_pane nav button:hover::after,
.modal .stash_manager .contents .control_pane nav button:hover > .title {
  opacity: 1;
}
.modal .stash_manager .contents .control_pane nav button > .title {
  width: 120%;
}
.modal .stash_manager .contents .control_pane nav button ~ button {
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  cursor: pointer;
  position: relative;
}
.modal .stash_manager .contents .control_pane nav button ~ button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.modal .stash_manager .contents .control_pane nav button ~ button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.modal .stash_manager .contents .control_pane nav button ~ button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.modal .stash_manager .contents .control_pane nav button ~ button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.modal .stash_manager .contents .control_pane nav button ~ button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.modal .stash_manager .contents .control_pane nav button ~ button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.modal .stash_manager .contents .control_pane nav button ~ button span[data-label]::before {
  content: attr(data-label);
}
.modal .stash_manager .contents .control_pane nav button ~ button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.modal .stash_manager .contents .control_pane nav button ~ button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.modal .stash_manager .contents .control_pane nav button ~ button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.modal .stash_manager .contents .control_pane nav button ~ button.confirmation_required.cancel {
  color: red;
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title > span:not(.tip)::before {
  content: ' • ';
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title > span:nth-child(2) {
  font-weight: 700;
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.modal .stash_manager .contents .control_pane nav button ~ button > .title:has( > .tip ) {
  justify-content: center;
}
.modal .stash_manager .contents .control_pane nav button ~ button[data-title]::after,
.modal .stash_manager .contents .control_pane nav button ~ button > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: normal;
  width: 100%;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.modal .stash_manager .contents .control_pane nav button ~ button:hover::after,
.modal .stash_manager .contents .control_pane nav button ~ button:hover > .title {
  opacity: 1;
}
.modal .prompt {
  padding: 2em;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 20px;
  position: relative;
  max-width: 480px;
}
.modal .prompt .cancel {
  cursor: pointer;
  position: relative;
  position: absolute;
  right: 15px;
  top: 10px;
}
.modal .prompt .cancel > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.modal .prompt .cancel > .title > span:not(.tip)::before {
  content: ' • ';
}
.modal .prompt .cancel > .title > span:nth-child(2) {
  font-weight: 700;
}
.modal .prompt .cancel > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.modal .prompt .cancel > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.modal .prompt .cancel > .title:has( > .tip ) {
  justify-content: center;
}
.modal .prompt .cancel[data-title]::after,
.modal .prompt .cancel > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.modal .prompt .cancel:hover::after,
.modal .prompt .cancel:hover > .title {
  opacity: 1;
}
.modal .prompt > span {
  flex: 1 0 0;
}
.modal .prompt > nav {
  display: flex;
  gap: 10px;
  flex: 0 0 100%;
}
.modal .prompt > nav button {
  cursor: pointer;
  position: relative;
  min-width: 150px;
}
.modal .prompt > nav button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.modal .prompt > nav button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.modal .prompt > nav button span[data-label]::before {
  content: attr(data-label);
}
.modal .prompt > nav button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.modal .prompt > nav button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.modal .prompt > nav button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.modal .prompt > nav button.confirmation_required.cancel {
  color: red;
}
.modal .prompt > nav button > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.modal .prompt > nav button > .title > span:not(.tip)::before {
  content: ' • ';
}
.modal .prompt > nav button > .title > span:nth-child(2) {
  font-weight: 700;
}
.modal .prompt > nav button > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.modal .prompt > nav button > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.modal .prompt > nav button > .title:has( > .tip ) {
  justify-content: center;
}
.modal .prompt > nav button[data-title]::after,
.modal .prompt > nav button > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: normal;
  width: 100%;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.modal .prompt > nav button:hover::after,
.modal .prompt > nav button:hover > .title {
  opacity: 1;
}
.modal .prompt > nav button:first-child {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.modal .prompt > nav button:first-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.modal .prompt > nav button:first-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.modal .prompt > nav button:first-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.modal .prompt > nav button:first-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.modal .prompt > nav button:last-child {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.modal .prompt > nav button:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.modal .prompt > nav button:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.modal .prompt > nav button:last-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.modal .prompt > nav button:last-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.modal .prompt > nav button .title {
  width: 100%;
}
.dragging_container.dragging_container {
  position: absolute;
  z-index: 950;
  display: flex;
  flex-wrap: wrap;
  max-width: 500px;
  pointer-events: none;
}
.dragging_container.dragging_container > * > * {
  display: none;
}
.dragging_container.dragging_container img {
  display: flex;
}
.e404 {
  font-size: 4rem;
  height: 100%;
  opacity: 0.75;
  font-weight: 900;
  display: flex;
  align-items: center;
  justify-content: center;
}
.settings {
  gap: 10px;
  padding: 15px;
  --display: grid;
  flex-wrap: wrap;
  overflow: hidden;
  grid-template-columns: 1fr 1fr;
  grid-auto-rows: min-content 1fr 1fr;
}
.settings > :nth-child(2) {
  min-height: 364px;
}
.settings > .box:focus-within {
  z-index: 500;
}
.settings > .box:first-child {
  grid-column: 1 / -1;
}
.settings > .box:not(:nth-last-child(2)):not(:last-child) {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
}
.settings > .box:nth-last-child(2) {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.settings > .box:nth-last-child(2)::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.settings > .box:nth-last-child(2)::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.settings > .box:nth-last-child(2)::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.settings > .box:nth-last-child(2)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.settings > .box:last-child {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.settings > .box:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.settings > .box:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.settings > .box:last-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.settings > .box:last-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.settings > .box:not(.controls) {
  flex: 1 0 calc(50% - 10px);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}
.settings > .box:not(.controls) > :last-child:not([class]) {
  flex: 1 0 0;
}
.settings > .box:not(.controls) > h2 {
  flex: 0 0 auto;
}
.settings > .controls {
  flex: 1 0 100%;
  height: min-content;
  display: flex;
  z-index: 500;
}
.settings > .controls > * {
  display: flex;
  gap: 1ch;
}
.settings > .controls > button:last-child {
  margin-left: auto;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  position: relative;
}
.settings > .controls > button:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.settings > .controls > button:last-child::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.settings > .controls > button:last-child::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.settings > .controls > button:last-child::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.settings > .controls > button:last-child::before {
  content: '';
  position: absolute;
  inset: 0;
}
.settings > .controls > button:last-child span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.settings > .controls > button:last-child span[data-label]::before {
  content: attr(data-label);
}
.settings > .controls > button:last-child.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.settings > .controls > button:last-child.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.settings > .controls > button:last-child.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.settings > .controls > button:last-child.confirmation_required.cancel {
  color: red;
}
.settings > .controls button {
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  position: relative;
}
.settings > .controls button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.settings > .controls button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.settings > .controls button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.settings > .controls button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
.settings > .controls button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.settings > .controls button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.settings > .controls button span[data-label]::before {
  content: attr(data-label);
}
.settings > .controls button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.settings > .controls button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.settings > .controls button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.settings > .controls button.confirmation_required.cancel {
  color: red;
}
.settings > .controls .preset_save {
  flex-direction: column;
  gap: 1ch;
  padding: 5px 5px 10px;
}
.settings > .controls .preset_save .options {
  border: none;
  background: none;
  box-shadow: none;
}
.settings > .controls .selector .selected {
  height: 100%;
  align-items: center;
}
.settings > .controls .selector > .options > * {
  padding-right: 0;
}
.has_products {
  --display: flex;
  max-height: 100%;
}
.about_help.tabbed header > nav > .active {
  background: #191410;
  border-bottom-color: #191410;
}
.humble_scroll_bar {
  --height: 0px;
  --top: 0px;
  --left: 0px;
  --height-fix: 0px;
  --top-fix: 0px;
  --left-fix: 0px;
  --width-fix: 0px;
  position: absolute;
  top: calc(var(--top) + var(--top-fix, 0px));
  left: calc(var(--left) + var(--left-fix, 0px));
  background: rgba(208, 92, 59, 0.15);
  z-index: 100;
  cursor: pointer;
}
.humble_scroll_bar.vertical {
  height: calc(var(--height) + var(--height-fix, 0px));
  width: 10px;
  padding-top: 10px;
  padding-bottom: 10px;
}
.humble_scroll_bar.horizontal {
  width: calc(var(--width) + var(--width-fix, 0px));
  height: 10px;
  padding-left: 10px;
  padding-right: 10px;
}
.humble_scroll_bar[disabled] {
  display: none;
  --display: none;
}
.humble_scroll_bar.active > div::before {
  background-color: #F39058;
}
.humble_scroll_bar.vertical > div {
  height: 0px;
  width: 100%;
  top: 0;
}
.humble_scroll_bar.vertical > div::before {
  width: 100%;
  height: 20px;
  border-left: 2px solid transparent;
  border-right: 2px solid transparent;
}
.humble_scroll_bar.horizontal > div {
  height: 100%;
  width: 0;
  left: 0;
}
.humble_scroll_bar.horizontal > div::before {
  height: 48%;
  min-width: 20px;
}
.humble_scroll_bar > div {
  position: relative;
  top: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.humble_scroll_bar > div::before {
  content: '';
  display: block;
  background-color: rgba(243, 144, 88, 0.35);
  background-clip: padding-box;
  transition: background 300ms;
}
.humble_scroll_bar > div:hover::before {
  background-color: #F39058;
}
.range {
  padding: 8px 8px 12px;
  user-select: none;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  font-size: 13px;
}
.range > span:first-of-type {
  max-width: 65%;
  min-height: 2.3em;
  display: flex;
  align-items: center;
}
.range > span:first-of-type ~ span {
  font-size: 1rem;
  font-weight: 600;
  min-width: 3rem;
  text-align: right;
  margin-left: auto;
}
.range.compact {
  flex-wrap: nowrap;
  padding-bottom: 8px;
}
.range.compact:not( .untied ) > span {
  width: 41%;
}
.range.compact > span + span {
  display: none;
}
.range.compact .controls {
  flex: 1 0 0;
  margin-left: 1rem;
}
.range.disabled > .controls {
  opacity: 0.5;
  filter: grayscale(100%);
  pointer-events: none;
}
.range .controls {
  display: flex;
  flex-direction: column;
  flex: 0 0 96%;
  margin-left: auto;
  margin-right: auto;
}
.range .controls > * {
  width: 100%;
}
.range .track {
  padding-bottom: 5px;
  padding-top: 12px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  cursor: pointer;
}
.range .track:hover::before,
.range .track.active::before {
  box-shadow: 0 0 5px 5px rgba(208, 92, 59, 0.3);
}
.range .track.active .handle::before,
.range .track.active .handle::after {
  opacity: 1;
}
.range .track .handle {
  position: absolute;
  left: var(--value-percent);
  width: 0;
  height: 0;
  bottom: 10px;
  display: flex;
  justify-content: center;
}
.range .track .handle:hover::before,
.range .track .handle:hover::after {
  opacity: 1;
}
.range .track .handle::before {
  content: '';
  width: 12px;
  height: 8px;
  position: absolute;
  background: #F39058;
  transition: 300ms;
  opacity: 0.5;
  bottom: calc(100% + 8px);
}
.range .track .handle::after {
  content: '';
  width: 0;
  height: 0;
  transition: 300ms;
  opacity: 0.5;
  border-top: 8px solid #F39058;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  position: absolute;
  bottom: 100%;
}
.range .track::before,
.range .track::after {
  content: '';
  height: 4px;
  display: block;
}
.range .track::before {
  border: 1px solid rgba(208, 92, 59, 0.3);
  transition: 300ms;
}
.range .track::after {
  width: 100%;
  width: var(--value-percent);
  background: #F39058;
  position: absolute;
  left: 0;
  bottom: 5px;
}
.range .labels {
  display: flex;
  justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  height: 18px;
}
.range .labels > * {
  width: 0;
  flex: 2 0 0;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 11px;
  cursor: pointer;
  transition: color 300ms;
}
.range .labels > *:hover {
  color: #F39058;
  font-size: 14px;
}
.range .labels > *:first-child {
  justify-content: flex-start;
  flex: 1 0 0;
}
.range .labels > *:last-child {
  justify-content: flex-end;
  flex: 1 0 0;
}
.number {
  display: flex;
  flex-direction: column;
}
.number > span {
  font-size: 0.85rem;
  flex: 1 0 0;
  display: flex;
  align-items: center;
}
.group.nshaped {
  --display: flex;
  flex-wrap: wrap;
  gap: 1rem 0;
}
.group.nshaped > :first-child {
  flex: 1 0 100%;
}
.group.nshaped > * {
  flex: 1 0 min-content;
}
.group.nshaped > .alternatives {
  flex-grow: 10;
}
.group.nshaped .alternatives > span {
  white-space: nowrap;
}
.group.eshaped {
  --display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: min-content 1fr 1fr;
  height: 100%;
  gap: 1rem 0;
}
.group.eshaped > :nth-child(2) {
  margin-top: 1rem;
}
.group.eshaped > :first-child {
  grid-row: 1 / -1;
}
.group.cols {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}
.group.cols > h4 {
  flex: 1 0 100%;
  margin-bottom: 0;
}
.group.cols > * {
  flex: 1 1 0;
}
.group.filtered {
  border: 1px solid rgba(208, 92, 59, 0.3);
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: 0;
  flex: 1 0 0;
  overflow: hidden;
}
.group.filtered.humble {
  flex: 0 0 min-content;
}
.group.filtered.humble > .content {
  flex: 0 0 auto;
  overflow: visible;
}
.group.filtered header {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  padding: 0 10px;
}
.group.filtered header > h4 {
  flex: 0 0 min-content;
  margin: 0;
  width: 0;
  white-space: nowrap;
}
.group.filtered header > h4 ~ input {
  margin-left: auto;
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
}
.group.filtered header > nav {
  padding-top: 2px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2px;
  display: flex;
  gap: 0.5em;
}
.group.filtered header > nav > * {
  border: 1px solid rgba(208, 92, 59, 0.3);
  border-bottom: 1px solid transparent;
  padding: 8px 1em 8px;
  cursor: pointer;
  transition: border-top-color 300ms, border-left-color 300ms, border-right-color 300ms;
}
.group.filtered header > nav > *:hover {
  border-top-color: #9D452D;
  border-left-color: #9D452D;
  border-right-color: #9D452D;
}
.group.filtered header > nav > .active {
  border-bottom: 1px solid #25201C;
  background: #25201C;
  margin-bottom: -2px;
  padding: 8px 1em 10px;
  cursor: default;
  pointer-events: none;
}
.group.filtered > header {
  padding-right: 0;
}
.group.filtered > header > h4 ~ * {
  margin: 0.05rem 0.05rem 0.05rem auto;
  padding-right: 0;
}
.group.filtered > header > h4 ~ * input {
  margin-right: 0;
  text-align: left;
}
.group.filtered > header > h4 ~ * .reset {
  top: 0;
  bottom: 0;
  right: 0;
  height: auto;
}
.group.filtered > div {
  display: var(--display, flex);
  flex-direction: column;
}
.group.headless {
  gap: inherit;
  display: flex;
  flex-direction: column;
}
.group.grid {
  border: 1px solid rgba(208, 92, 59, 0.3);
  height: 100%;
  display: flex;
  flex-direction: column;
  height: auto;
}
.group.grid.humble {
  flex: 0 0 min-content;
}
.group.grid.humble > .content {
  flex: 0 0 auto;
  overflow: visible;
}
.group.grid header {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  padding: 0 10px;
}
.group.grid header > h4 {
  flex: 0 0 min-content;
  margin: 0;
  width: 0;
  white-space: nowrap;
}
.group.grid header > h4 ~ input {
  margin-left: auto;
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
}
.group.grid header > nav {
  padding-top: 2px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2px;
  display: flex;
  gap: 0.5em;
}
.group.grid header > nav > * {
  border: 1px solid rgba(208, 92, 59, 0.3);
  border-bottom: 1px solid transparent;
  padding: 8px 1em 8px;
  cursor: pointer;
  transition: border-top-color 300ms, border-left-color 300ms, border-right-color 300ms;
}
.group.grid header > nav > *:hover {
  border-top-color: #9D452D;
  border-left-color: #9D452D;
  border-right-color: #9D452D;
}
.group.grid header > nav > .active {
  border-bottom: 1px solid #25201C;
  background: #25201C;
  margin-bottom: -2px;
  padding: 8px 1em 10px;
  cursor: default;
  pointer-events: none;
}
.group.grid h4 {
  line-height: 1.3;
}
.group.grid > div {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(6, 1fr);
}
.group.grid > div label {
  padding-top: 0;
  padding-bottom: 0;
}
.group.grid > div label > span {
  width: 100%;
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n) {
  cursor: pointer;
  position: relative;
}
.group.grid > div label[data-title]:nth-child(6n) > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.group.grid > div label[data-title]:nth-child(6n) > .title > span:not(.tip)::before {
  content: ' • ';
}
.group.grid > div label[data-title]:nth-child(6n) > .title > span:nth-child(2) {
  font-weight: 700;
}
.group.grid > div label[data-title]:nth-child(6n) > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.group.grid > div label[data-title]:nth-child(6n) > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.group.grid > div label[data-title]:nth-child(6n) > .title:has( > .tip ) {
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n)[data-title]::after,
.group.grid > div label[data-title]:nth-child(6n) > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  right: 0;
  bottom: calc(100% + 5px);
  top: auto;
  left: auto;
  transform: none;
}
.group.grid > div label[data-title]:nth-child(6n):hover::after,
.group.grid > div label[data-title]:nth-child(6n):hover > .title {
  opacity: 1;
}
.group.grid > div label[data-title]:nth-child(6n - 5) {
  cursor: pointer;
  position: relative;
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title > span:not(.tip)::before {
  content: ' • ';
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title > span:nth-child(2) {
  font-weight: 700;
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.group.grid > div label[data-title]:nth-child(6n - 5) > .title:has( > .tip ) {
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n - 5)[data-title]::after,
.group.grid > div label[data-title]:nth-child(6n - 5) > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: 0;
  bottom: calc(100% + 5px);
  top: auto;
  right: auto;
  transform: none;
}
.group.grid > div label[data-title]:nth-child(6n - 5):hover::after,
.group.grid > div label[data-title]:nth-child(6n - 5):hover > .title {
  opacity: 1;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] {
  cursor: pointer;
  position: relative;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title][data-title]::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:hover::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:hover > .title {
  opacity: 1;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) {
  cursor: pointer;
  position: relative;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title > span:not(.tip)::before {
  content: ' • ';
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title > span:nth-child(2) {
  font-weight: 700;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title:has( > .tip ) {
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n)[data-title]::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n) > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  right: 0;
  left: auto;
  bottom: auto;
  transform: none;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n):hover::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n):hover > .title {
  opacity: 1;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) {
  cursor: pointer;
  position: relative;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title > span:not(.tip)::before {
  content: ' • ';
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title > span:nth-child(2) {
  font-weight: 700;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title:has( > .tip ) {
  justify-content: center;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5)[data-title]::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5) > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
  transform: none;
}
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5):hover::after,
.group.grid > div label[data-title]:nth-child(6n) ~ [data-title]:nth-child(6n - 5):hover > .title {
  opacity: 1;
}
.group.subset {
  display: grid;
  grid-template-rows: calc(1.2 * 1.5 * 1.15 * 1rem) 0;
  min-height: calc(1.2 * 1.5 * 1.15 * 1rem);
  overflow: hidden;
  flex: 1 0 auto;
  position: relative;
  transition: 300ms;
}
.group.subset:has( > label.faded ) {
  display: contents;
  grid-template-rows: calc(1.2 * 1.5 * 1.15 * 1rem) 1fr;
}
.group.subset:has( > label.faded ) > label {
  pointer-events: none;
}
.group.subset:has( > label.faded ) > label > span:first-of-type {
  filter: grayscale(100%);
  opacity: 0.5;
}
.group.subset > a {
  position: absolute;
  right: 0;
  top: 0;
  height: calc(1.2 * 1.5 * 1.15 * 1rem);
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  z-index: 420;
  transition: 300ms;
  font-size: 14px;
}
.group.subset > a::before {
  content: '◀';
  height: 100%;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: 300ms;
}
.group.subset > a:hover {
  color: #F39058;
}
.group.subset.expanded {
  grid-template-rows: calc(1.2 * 1.5 * 1.15 * 1rem) 1fr;
}
.group.subset.expanded > a::before {
  transform: rotate(-90deg);
}
.group.subset.expanded > label.boolean.boolean {
  border-color: rgba(208, 92, 59, 0.3);
}
.group.subset:not(:first-of-type) {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
}
.group.subset > label.boolean.boolean {
  font-size: 1.2rem;
  height: 1.5lh;
  align-items: center;
  border-bottom: 1px dashed transparent;
}
.group.subset > label.boolean.boolean > span:first-of-type {
  width: 1rem;
}
.group.subset > label.boolean.boolean > * {
  pointer-events: none;
}
.group.subset.partial > label.boolean > span {
  background: linear-gradient(-45deg, #F39058, transparent, #F39058), linear-gradient(45deg, #F39058, transparent, #F39058);
}
.group.subset > div {
  padding-left: 1rem;
}
.group .number {
  flex-direction: row;
}
.group .number span {
  font-size: 1rem;
  justify-content: flex-end;
  white-space: nowrap;
}
.group .number input {
  width: 80px;
}
.radioset {
  display: flex;
  align-items: center;
  gap: 20px;
}
.radioset:not(.box):last-child {
  flex: 0 0 auto;
}
.radioset > span {
  max-width: 20%;
  white-space: nowrap;
}
.radioset > label:first-of-type {
  margin-left: auto;
}
.radioset > label {
  position: relative;
  cursor: pointer;
}
.radioset > label input {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
  pointer-events: none;
}
.radioset > label span {
  display: flex;
  align-items: center;
  gap: 10px;
  color: rgba(255, 255, 255, 0.75);
  transition: 300ms;
  white-space: nowrap;
}
.radioset > label span::before {
  content: '';
  width: 12px;
  height: 12px;
  border-radius: 100%;
  outline: 2px solid #9D452D;
  border: 3px solid #25201C;
  transition: 300ms;
  flex: 0 0 auto;
}
.radioset > label input:checked + span::before {
  border-color: #25201C;
  box-shadow: 0 0 8px 6px rgba(243, 144, 88, 0.35);
  outline: 2px solid #F39058;
  background: #F39058;
}
.radioset > label:hover span,
.radioset > label input:checked + span {
  color: white;
}
@keyframes shifting_mask {
  from {
    mask-position: 0 0;
  }
  to {
    mask-position: 22px 0;
  }
}
.tabbed {
  border: 1px solid rgba(208, 92, 59, 0.3);
  height: 100%;
  display: flex;
  flex-direction: column;
}
.tabbed.humble {
  flex: 0 0 min-content;
}
.tabbed.humble > .content {
  flex: 0 0 auto;
  overflow: visible;
}
.tabbed header {
  display: flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 1px solid rgba(208, 92, 59, 0.3);
  padding: 0 10px;
}
.tabbed header > h4 {
  flex: 0 0 min-content;
  margin: 0;
  width: 0;
  white-space: nowrap;
}
.tabbed header > h4 ~ input {
  margin-left: auto;
  margin-top: 0.35rem;
  margin-bottom: 0.35rem;
}
.tabbed header > nav {
  padding-top: 2px;
  font-size: 14px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2px;
  display: flex;
  gap: 0.5em;
}
.tabbed header > nav > * {
  border: 1px solid rgba(208, 92, 59, 0.3);
  border-bottom: 1px solid transparent;
  padding: 8px 1em 8px;
  cursor: pointer;
  transition: border-top-color 300ms, border-left-color 300ms, border-right-color 300ms;
}
.tabbed header > nav > *:hover {
  border-top-color: #9D452D;
  border-left-color: #9D452D;
  border-right-color: #9D452D;
}
.tabbed header > nav > .active {
  border-bottom: 1px solid #25201C;
  background: #25201C;
  margin-bottom: -2px;
  padding: 8px 1em 10px;
  cursor: default;
  pointer-events: none;
}
.tabbed.shifted {
  position: relative;
}
.tabbed.shifted > header {
  position: absolute;
  right: 0;
  bottom: 100%;
  background: transparent;
  border-bottom: none;
}
.tabbed.shifted > header nav {
  margin-top: 0;
}
.tabbed.shifted > header a {
  margin-bottom: 0;
}
.tabbed.shifted > header a:not(.active) {
  background: rgba(255, 255, 255, 0.05);
}
.tabbed > header > button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  padding: 0 0.5rem;
  font-size: 14px;
  text-transform: lowercase;
  font-variant: small-caps;
  display: flex;
  justify-content: center;
}
.tabbed > header > button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
.tabbed > header > button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
.tabbed > header > button::before {
  content: '';
  position: absolute;
  inset: 0;
}
.tabbed > header > button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.tabbed > header > button span[data-label]::before {
  content: attr(data-label);
}
.tabbed > header > button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.tabbed > header > button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.tabbed > header > button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.tabbed > header > button.confirmation_required.cancel {
  color: red;
}
.tabbed > header > button.disabled {
  --cut-bg: #302B28;
}
.tabbed > header > button.disabled:hover {
  --cut-bg: #302B28;
  cursor: default;
}
.tabbed > header > button[data-title] {
  cursor: pointer;
  position: relative;
}
.tabbed > header > button[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.tabbed > header > button[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.tabbed > header > button[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.tabbed > header > button[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.tabbed > header > button[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.tabbed > header > button[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.tabbed > header > button[data-title][data-title]::after,
.tabbed > header > button[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.tabbed > header > button[data-title]:hover::after,
.tabbed > header > button[data-title]:hover > .title {
  opacity: 1;
}
.tabbed > header > button.loading {
  flex: 0 0 auto;
  filter: grayscale(100%);
  pointer-events: none;
  opacity: 0.75;
}
.tabbed > header > button.loading::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(127, 127, 127, 0.5) 6px, rgba(127, 127, 127, 0.5) 12px, rgba(127, 127, 127, 0.15) 12px, rgba(127, 127, 127, 0.15) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.tabbed > .content {
  padding: 10px;
  flex: 1 0 0;
  overflow: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  scroll-behavior: smooth;
}
.tabbed > .content > * {
  display: var(--display);
}
.tabbed > .content > :not(.active):not(.humble_scroll_bar) {
  display: none;
}
.line {
  display: flex;
  align-items: center;
  gap: 1em;
}
.line > * {
  flex: 1 0 0;
}
.line h3 {
  flex: 0 0 auto;
  margin: 0;
}
.line .range {
  flex: 4 0 0;
}
.line .range + .range {
  margin-top: 0;
  flex: 7 0 0;
}
.line label {
  flex: 0 0 auto;
}
.line.humble {
  justify-content: space-between;
}
.line.humble > * {
  flex: 0 0 auto;
  padding-left: 0;
  padding-right: 0;
}
.line.humble .radioset > span {
  margin-right: 20px;
}
.line.humble .radioset > label {
  padding: 0;
}
.api_sourced_selector {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.api_sourced_selector .selector {
  flex: 1;
}
body.grabbing .prioritized_checklist .checks_list > * label input[type="checkbox"] + span {
  cursor: grabbing;
}
.prioritized_checklist_element {
  display: flex;
}
.prioritized_checklist_element.gray {
  pointer-events: none;
  outline: 1px dotted rgba(208, 92, 59, 0.85);
}
.prioritized_checklist_element.gray > * {
  opacity: 0;
}
.prioritized_checklist_element label {
  flex: 1 0 0;
  padding-left: 0;
  padding-right: 0;
}
.prioritized_checklist_element label span {
  flex: 1 0 0;
  justify-content: center;
  text-align: center;
}
.prioritized_checklist_element label span img {
  height: 1em;
}
.prioritized_checklist_element label input[type="checkbox"] + span {
  cursor: grab;
}
.prioritized_checklist_element label input:checked + span img {
  filter: brightness(25%);
}
.prioritized_checklist_element a {
  display: flex;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
}
.prioritized_checklist_element a:hover {
  color: #F39058;
}
.prioritized_checklist_element:first-of-type > a:first-child {
  opacity: 0;
  pointer-events: none;
}
.prioritized_checklist_element:last-of-type > a:last-child {
  opacity: 0;
  pointer-events: none;
}
.prioritized_checklist_element_floating {
  display: flex;
  position: absolute;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 800;
}
.prioritized_checklist_element_floating.gray {
  pointer-events: none;
  outline: 1px dotted rgba(208, 92, 59, 0.85);
}
.prioritized_checklist_element_floating.gray > * {
  opacity: 0;
}
.prioritized_checklist_element_floating label {
  flex: 1 0 0;
  padding-left: 0;
  padding-right: 0;
}
.prioritized_checklist_element_floating label span {
  flex: 1 0 0;
  justify-content: center;
  text-align: center;
}
.prioritized_checklist_element_floating label span img {
  height: 1em;
}
.prioritized_checklist_element_floating label input[type="checkbox"] + span {
  cursor: grab;
}
.prioritized_checklist_element_floating label input:checked + span img {
  filter: brightness(25%);
}
.prioritized_checklist_element_floating a {
  display: flex;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
}
.prioritized_checklist_element_floating a:hover {
  color: #F39058;
}
.prioritized_checklist_element_floating:first-of-type > a:first-child {
  opacity: 0;
  pointer-events: none;
}
.prioritized_checklist_element_floating:last-of-type > a:last-child {
  opacity: 0;
  pointer-events: none;
}
.prioritized_checklist_element_floating label {
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
}
.prioritized_checklist_element_floating label span {
  flex: 1 0 0;
}
.prioritized_checklist {
  display: flex;
  flex-direction: column;
  padding: 0.5rem;
  padding-bottom: 1rem;
  gap: 0.5rem;
  border: 1px solid rgba(208, 92, 59, 0.3);
}
.prioritized_checklist h5 {
  margin: 0;
  text-align: center;
}
.prioritized_checklist h5 img {
  height: 1.3em;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] {
  cursor: pointer;
  position: relative;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.prioritized_checklist:last-child:not(:first-child) [data-title][data-title]::after,
.prioritized_checklist:last-child:not(:first-child) [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  right: 50%;
  bottom: calc(100% + 5px);
  top: auto;
}
.prioritized_checklist:last-child:not(:first-child) [data-title]:hover::after,
.prioritized_checklist:last-child:not(:first-child) [data-title]:hover > .title {
  opacity: 1;
}
.prioritized_checklist:not(:last-child) [data-title] {
  cursor: pointer;
  position: relative;
}
.prioritized_checklist:not(:last-child) [data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.prioritized_checklist:not(:last-child) [data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.prioritized_checklist:not(:last-child) [data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.prioritized_checklist:not(:last-child) [data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.prioritized_checklist:not(:last-child) [data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.prioritized_checklist:not(:last-child) [data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.prioritized_checklist:not(:last-child) [data-title][data-title]::after,
.prioritized_checklist:not(:last-child) [data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: 50%;
  bottom: calc(100% + 5px);
  top: auto;
}
.prioritized_checklist:not(:last-child) [data-title]:hover::after,
.prioritized_checklist:not(:last-child) [data-title]:hover > .title {
  opacity: 1;
}
.prioritized_checklist label.boolean {
  transition: 300ms;
}
.prioritized_checklist label.boolean:hover {
  color: #F39058;
}
.prioritized_checklist .checks_list {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 16px;
  user-select: none;
  white-space: nowrap;
}
.prioritized_checklist .checks_list > * {
  display: flex;
}
.prioritized_checklist .checks_list > *.gray {
  pointer-events: none;
  outline: 1px dotted rgba(208, 92, 59, 0.85);
}
.prioritized_checklist .checks_list > *.gray > * {
  opacity: 0;
}
.prioritized_checklist .checks_list > * label {
  flex: 1 0 0;
  padding-left: 0;
  padding-right: 0;
}
.prioritized_checklist .checks_list > * label span {
  flex: 1 0 0;
  justify-content: center;
  text-align: center;
}
.prioritized_checklist .checks_list > * label span img {
  height: 1em;
}
.prioritized_checklist .checks_list > * label input[type="checkbox"] + span {
  cursor: grab;
}
.prioritized_checklist .checks_list > * label input:checked + span img {
  filter: brightness(25%);
}
.prioritized_checklist .checks_list > * a {
  display: flex;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
}
.prioritized_checklist .checks_list > * a:hover {
  color: #F39058;
}
.prioritized_checklist .checks_list > *:first-of-type > a:first-child {
  opacity: 0;
  pointer-events: none;
}
.prioritized_checklist .checks_list > *:last-of-type > a:last-child {
  opacity: 0;
  pointer-events: none;
}
.unwrappable {
  min-width: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.unwrappable:not(.active) {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.unwrappable:not(.active)[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
.unwrappable:not(.active):not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
.unwrappable:not(.active)::before {
  content: '';
  position: absolute;
  inset: 0;
}
.unwrappable:not(.active) span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.unwrappable:not(.active) span[data-label]::before {
  content: attr(data-label);
}
.unwrappable:not(.active).confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.unwrappable:not(.active).confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.unwrappable:not(.active).confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.unwrappable:not(.active).confirmation_required.cancel {
  color: red;
}
.unwrappable:not(.active)::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.unwrappable:not(.active)::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.unwrappable:not(.active)::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
.unwrappable:not(.active)::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: left 0 top 0;
  background-repeat: no-repeat;
}
.unwrappable > .contents {
  box-shadow: 0 0 0 1px var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  position: relative;
  --cut-bg: #25201C;
  display: none;
  position: absolute;
  left: 0;
  right: 0;
  padding: 5px;
  top: 0;
}
.unwrappable.active > .contents {
  display: flex;
  flex-direction: column;
}
.prices_table {
  display: grid;
  grid-auto-rows: min-content;
  grid-template-columns: 1fr min-content min-content min-content min-content;
  padding-right: 10px;
}
.prices_table:not(:first-child) > header {
  border-top: 1px solid rgba(208, 92, 59, 0.3);
}
.prices_table > header {
  grid-column: 1 / 6;
  text-transform: lowercase;
  font-variant: small-caps;
  text-align: left;
  padding: 0.25rem 0.5rem;
  display: flex;
  justify-content: space-between;
}
.prices_table > :nth-of-type(2n) {
  background: rgba(255, 255, 255, 0.05);
  border-top: 1px dotted rgba(255, 255, 255, 0.25);
  border-bottom: 1px dotted rgba(255, 255, 255, 0.25);
}
.prices_table .entry + .prices_table {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  padding-left: 20px;
  padding-right: 0;
  position: relative;
}
.prices_table .entry + .prices_table::before {
  content: '';
  position: absolute;
  left: 13px;
  top: 0;
  bottom: 4px;
  width: 5px;
  border-left: 1px solid #666;
  border-bottom: 1px solid #666;
}
.prices_table .percent {
  justify-content: flex-end;
  text-align: right;
}
.prices_table .price_per_unit {
  text-align: right;
  justify-content: flex-end;
  min-width: 70px;
}
.prices_table .gross {
  text-align: right;
}
.prices_table .columns,
.prices_table .entry {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
}
.prices_table .entry.delimiter {
  border-top: 1px solid rgba(255, 255, 255, 0.4);
}
.prices_table .entry.faded {
  opacity: 0.25;
}
.prices_table .entry.installation_cost span:first-child::before,
.prices_table .entry.installation_cost span:first-child::after {
  content: '';
}
.prices_table .entry [data-price-source="min_sell"] {
  color: gold;
}
.prices_table .entry [data-price-source="max_buy"] {
  color: lightgreen;
}
.prices_table .entry [data-price-source="actual"] {
  color: Cyan;
}
.prices_table .entry.inverted [data-price-source="min_sell"] {
  color: lightgreen;
}
.prices_table .entry.inverted [data-price-source="max_buy"] {
  color: gold;
}
.prices_table .entry > .failed {
  color: pink;
}
.prices_table .entry > .number {
  justify-content: flex-end;
  align-items: center;
  flex-direction: row;
  white-space: nowrap;
}
.prices_table .entry > .number > .suffix:empty {
  display: none;
}
.prices_table .entry > .number > .suffix {
  flex: 0 0 auto;
  font-size: smaller;
  opacity: 0.65;
}
.prices_table .entry input {
  max-width: 60px;
  text-align: right;
  padding-right: 2px;
  padding-left: 2px;
  font-size: 13px;
}
.prices_table .entry > * {
  position: relative;
}
.prices_table .entry span {
  padding: 2px 5px 2px 3px;
  font-size: 13px;
  display: flex;
  align-items: center;
}
.prices_table .entry span.standalone {
  padding-left: 9px;
  grid-column: 1 / -1;
}
.prices_table .entry span.standalone:only-child {
  padding-left: 0;
}
.prices_table .entry .name ~ * {
  cursor: default;
  white-space: nowrap;
}
.prices_table .entry .gross {
  justify-content: flex-end;
  text-align: right;
  white-space: nowrap;
  position: relative;
}
.prices_table .entry .gross .notice {
  min-width: 0;
  white-space: nowrap;
}
.prices_table .entry .name.failed {
  color: salmon;
}
.prices_table .entry .name.expandable {
  cursor: pointer;
}
.prices_table .entry .name.expandable > span {
  opacity: 0.85;
  filter: grayscale(100%);
  transition: 300ms;
}
.prices_table .entry .name.expandable:hover > span {
  opacity: 1;
  filter: grayscale(0);
}
.prices_table .entry .has_notice {
  cursor: help;
  white-space: nowrap;
}
.prices_table .entry .has_notice::before {
  content: '*';
  font-size: 0.65rem;
  position: relative;
  top: -3px;
}
.prices_table .entry [data-toggleable] {
  cursor: pointer;
}
.prices_table .entry [data-price-source="user"] {
  color: LightSkyBlue;
}
.prices_table .entry [data-price-source="manufacturing"] {
  color: Orchid;
}
.prices_table strong {
  text-align: right;
}
.prices_table .columns > * {
  padding: 5px;
  font-variant: small-caps;
  font-weight: 500;
  font-size: 12px;
  border-bottom: 1px dotted rgba(208, 92, 59, 0.3);
  display: flex;
  align-items: center;
}
.prices_table .columns > .number {
  align-items: flex-end;
  text-align: right;
}
.prices_table .columns > .percent {
  align-items: center;
  justify-content: center;
  text-align: right;
}
.prices_table .columns > :not([class]) {
  text-align: center;
  justify-content: center;
}
.prices_table + .total {
  color: #F39058;
  display: flex;
  border-top: 1px dotted rgba(255, 255, 255, 0.25);
  padding-right: 10px;
}
.prices_table + .total > * {
  padding: 2px 6px;
  font-size: 13px;
}
.prices_table + .total span {
  font-weight: bold;
  font-variant: small-caps;
  white-space: nowrap;
}
.prices_table + .total span + strong {
  font-size: 15px;
  margin-left: auto;
}
.prices_table + .total strong {
  white-space: nowrap;
}
*:hover > .drop_down_menu:not(:first-child) {
  box-shadow: 0 0 0 1px rgba(243, 144, 88, 0.85) inset;
}
*:hover > .drop_down_menu:first-child,
.drop_down_menu:hover,
.drop_down_menu:focus,
.drop_down_menu:focus-within {
  --menu-fg: black;
  --menu-bg: #F39058;
}
.drop_down_menu {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  aspect-ratio: 1 / 1;
  transition: 300ms;
  --menu-fg: white;
  --menu-fg-alt: white;
  --menu-bg: transparent;
  background: var(--menu-bg);
  color: var(--menu-fg);
  cursor: pointer;
}
.drop_down_menu > a {
  display: flex;
  align-items: center;
  justify-content: center;
}
.drop_down_menu:last-child > div {
  left: auto;
  right: 0;
}
.drop_down_menu:has( span > div ) a {
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  display: block;
}
.drop_down_menu div {
  position: absolute;
  left: 0;
  top: 100%;
  background: #4E281C;
  border: 1px solid var(--menu-bg);
  opacity: 0;
  pointer-events: none;
  cursor: default;
  display: flex;
  flex-direction: column;
}
.drop_down_menu div > * {
  display: flex;
  align-items: center;
  padding: 0.5ch 1ch;
  margin: 0;
  font-size: 14px;
  justify-content: flex-start;
  transition: 300ms;
  text-transform: uppercase;
  color: var(--menu-fg-alt);
  white-space: nowrap;
  --text-align: left;
}
.drop_down_menu div > *:hover {
  background: var(--menu-bg);
  color: var(--menu-fg);
}
.drop_down_menu div > *.disabled {
  color: gray;
}
.drop_down_menu div > *[data-title] {
  cursor: pointer;
  position: relative;
}
.drop_down_menu div > *[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.drop_down_menu div > *[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.drop_down_menu div > *[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.drop_down_menu div > *[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.drop_down_menu div > *[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.drop_down_menu div > *[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.drop_down_menu div > *[data-title][data-title]::after,
.drop_down_menu div > *[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  top: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  right: auto;
  bottom: auto;
}
.drop_down_menu div > *[data-title]:hover::after,
.drop_down_menu div > *[data-title]:hover > .title {
  opacity: 1;
}
.drop_down_menu div > *[data-title]:hover {
  background: none;
  cursor: default;
}
.drop_down_menu div > hr {
  padding: 0;
  margin: 0.5ch 0;
  height: 1px;
  background: var(--menu-bg);
  border: none;
  pointer-events: none;
}
.drop_down_menu div > hr:last-child,
.drop_down_menu div > hr:first-child {
  display: none;
}
.drop_down_menu div div {
  bottom: 0;
  top: auto;
  right: 100%;
  left: auto;
}
.drop_down_menu div span {
  position: relative;
}
.drop_down_menu div span:has( > div )::before {
  content: '◀';
  font-size: 0.65em;
  margin-right: 1em;
}
.drop_down_menu div span:hover > div {
  opacity: 1;
  pointer-events: auto;
}
.drop_down_menu:focus > div,
.drop_down_menu:focus-within > div {
  opacity: 1;
  pointer-events: auto;
  z-index: 400;
}
.group:nth-child(4) ~ .group:nth-last-child(5) ~ .group .drop_down_menu div {
  top: auto;
  bottom: 100%;
}
.message {
  position: absolute;
  left: 50%;
  top: 40px;
  transform: translate(-50%, 0);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1em;
  border: 1px solid red;
  box-shadow: 0 0 5px 0 red;
  font-variant: small-caps;
  font-size: 0.85em;
  font-weight: 500;
  text-align: center;
  background: #191410;
}
.box {
  padding: 10px 15px;
}
.deco_cut {
  position: relative;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  z-index: 400;
}
.deco_cut::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.deco_cut::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.deco_cut::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.deco_cut::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
a.will_require_confirmation {
  position: relative;
}
a.will_require_confirmation::before {
  content: '';
  position: absolute;
  inset: 0;
}
a.will_require_confirmation span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
a.will_require_confirmation span[data-label]::before {
  content: attr(data-label);
}
a.will_require_confirmation.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
a.will_require_confirmation.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
a.will_require_confirmation.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
a.will_require_confirmation.confirmation_required.cancel {
  color: red;
}
button {
  --cut-bg: rgba(208, 92, 59, 0.3);
  background: transparent;
  transition: 300ms;
  padding: 8px 15px;
  cursor: pointer;
  border-radius: 0;
  border: none;
  color: white;
  font-weight: 500;
  font-size: 15px;
  font-family: inherit;
  text-transform: uppercase;
  --cut-size: 8px;
  position: relative;
}
button[disabled] {
  filter: grayscale(100%);
  opacity: 0.65;
  pointer-events: none;
}
button:not(.confirmation_required):hover {
  --cut-bg: #9D452D;
}
button::before {
  content: '';
  position: absolute;
  inset: 0;
}
button span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
button span[data-label]::before {
  content: attr(data-label);
}
button.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
button.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
button.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
button.confirmation_required.cancel {
  color: red;
}
a.cancel,
a.drop {
  transition: 300ms;
}
a.cancel:hover,
a.drop:hover {
  color: #F39058;
}
.range + .range {
  margin-top: 1em;
}
.exclusive_selector {
  position: relative;
}
.selector .options + .humble_scroll_bar {
  z-index: 500;
  --top-fix: 2px;
  --height-fix: -4px;
  --left-fix: -2px;
  background: #3E2921;
  border-left: 1px solid rgba(208, 92, 59, 0.3);
}
.boolean.boolean {
  align-items: stretch;
  padding: 10px 0;
  gap: 1rem;
}
.boolean.boolean > span {
  width: auto;
  flex: 0 1 auto;
  text-align: left;
  white-space: nowrap;
  text-overflow: ellipsis;
  overflow: hidden;
}
.boolean.boolean:not(.compact) input:checked + span {
  box-shadow: 0 0 0 2px #25201C inset;
}
.boolean.boolean.compact {
  font-size: 14px;
}
.boolean.boolean[data-title] {
  cursor: pointer;
  position: relative;
}
.boolean.boolean[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.boolean.boolean[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.boolean.boolean[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.boolean.boolean[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.boolean.boolean[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.boolean.boolean[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.boolean.boolean[data-title][data-title]::after,
.boolean.boolean[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  bottom: calc(100% + 5px);
  left: 50%;
  transform: translate(-50%, 0);
  top: auto;
}
.boolean.boolean[data-title]:hover::after,
.boolean.boolean[data-title]:hover > .title {
  opacity: 1;
}
.filtered .boolean.boolean {
  padding: 4px;
  font-size: smaller;
  gap: 0.5rem;
}
.filtered .boolean.boolean input + span {
  padding: 0;
  width: 0.75rem;
  flex: 0 0 0.75rem;
  align-self: center;
  aspect-ratio: 1/1;
  border-width: 1px;
}
.tag {
  display: flex;
  flex-direction: column;
  flex-basis: min-content;
  position: relative;
}
.tag > * {
  white-space: nowrap;
}
.tag > span {
  font-size: 15px;
  font-variant: small-caps;
  text-transform: lowercase;
}
.tag > strong {
  font-size: 20px;
  font-weight: normal;
}
.tag.emphasized strong {
  font-size: 48px;
  font-weight: bold;
  line-height: 0.9;
}
.tag.unavailable > strong {
  font-size: 1em;
  font-weight: 500;
  color: pink;
  white-space: normal;
  max-width: 140px;
  font-weight: normal;
}
.tag.unavailable > strong[data-title] {
  text-decoration: underline;
  justify-content: center;
  display: flex;
  cursor: pointer;
  position: relative;
}
.tag.unavailable > strong[data-title] > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
.tag.unavailable > strong[data-title] > .title > span:not(.tip)::before {
  content: ' • ';
}
.tag.unavailable > strong[data-title] > .title > span:nth-child(2) {
  font-weight: 700;
}
.tag.unavailable > strong[data-title] > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
.tag.unavailable > strong[data-title] > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
.tag.unavailable > strong[data-title] > .title:has( > .tip ) {
  justify-content: center;
}
.tag.unavailable > strong[data-title][data-title]::after,
.tag.unavailable > strong[data-title] > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: pre;
  top: calc(100% + 5px);
  left: 0;
  right: auto;
  bottom: auto;
}
.tag.unavailable > strong[data-title]:hover::after,
.tag.unavailable > strong[data-title]:hover > .title {
  opacity: 1;
}
.tag:hover .hint {
  opacity: 1;
}
.tag .hint {
  position: absolute;
  top: 100%;
  opacity: 0;
  pointer-events: none;
  transition: 300ms;
  color: white;
  left: 50%;
  transform: translateX(-50%);
  z-index: 500;
  font-size: 1rem;
  font-weight: normal;
  background: #25201C;
  border: 1px solid #F39058;
  padding: 4px;
  border-radius: 3px;
  box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.65);
}
.notification {
  flex: 1 0 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  text-align: center;
  align-items: center;
  justify-content: center;
  font-size: 32px;
}
.notification a {
  color: #F39058;
}
.notification a:hover {
  text-decoration: underline;
}
.loading {
  display: flex;
  align-self: center;
  align-items: center;
  justify-content: space-between;
  position: relative;
  gap: 10px;
  flex: 1 0 0;
}
.loading > span {
  position: absolute;
  left: 0;
  right: 0;
  text-align: center;
  white-space: nowrap;
  font-size: 11px;
  opacity: 0.5;
  display: flex;
  justify-content: center;
  font-variant: left-fix;
}
.loading > div {
  width: 10px;
  position: relative;
  height: 30px;
  --transition: 500ms;
  --bheight: 0px;
  --aheight: 0px;
}
.loading > div::before,
.loading > div::after {
  opacity: 0.65;
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  transition: var(--transition);
  display: block;
  background: #F39058;
  box-shadow: 0 0 8px 5px #593226;
}
.loading > div::before {
  height: var(--bheight);
  bottom: 100%;
  border-radius: 1px 1px 0 0;
}
.loading > div::after {
  height: var(--aheight);
  top: 100%;
  border-radius: 0 0 1px 1px;
}
label:hover input[type=checkbox] + span {
  box-shadow: 0 0 0 1px black, 0 0 4px 3px #F39058;
}
input[type=checkbox] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
input[type=checkbox] + span {
  display: flex;
  align-items: center;
  transition: 300ms;
  padding: 0 0.5rem;
  border: 2px solid #F39058;
  cursor: pointer;
}
input[type=checkbox]:checked + span {
  background: #F39058;
  color: black;
}
input[type=checkbox]:disabled + span {
  filter: grayscale(65%);
}
input[type=checkbox]:disabled + span:hover {
  box-shadow: none;
}
.selector:has( > .humble_scroll_bar:not([disabled])) > .options {
  scroll-behavior: smooth;
}
.selector:has( > .humble_scroll_bar:not([disabled])) > .options > [data-idx]::after {
  right: 20px;
}
.selector .decryptor {
  display: flex;
  flex-direction: column;
}
.selector .decryptor > :last-child {
  display: flex;
  gap: 15px;
  font-size: 0.85em;
  opacity: 0.65;
  margin-left: 15px;
}
.selector .value .decryptor > :last-child {
  gap: 5px;
  margin-left: 5px;
}
.selector .options .solar_system_digest,
.selector .value .solar_system_digest {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.selector .options .solar_system_digest span ~ span,
.selector .value .solar_system_digest span ~ span {
  color: white;
  opacity: 0.45;
  font-size: 0.85rem;
}
.selector .options .location > span,
.selector .value .location > span {
  display: flex;
  flex-direction: column;
}
.selector .options .location > span .location_prefix,
.selector .value .location > span .location_prefix {
  opacity: 0.65;
  font-variant: small-caps;
  white-space: nowrap;
  font-size: 14px;
}
.selector .options .location > span span ~ span,
.selector .value .location > span span ~ span {
  color: white;
  font-size: 15px;
}
.selector .options .location .location_prefix ~ span {
  white-space: normal;
}
button.add_group {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
  z-index: inherit;
  margin-top: auto;
}
button.add_group::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
button.add_group::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
button.add_group::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), var(--cut-size-local) calc(100% + 1px), 0 calc(100% - var(--cut-size-local)), 0 calc(100% + 1px));
}
button.add_group::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E"), url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='0' x2='200' y2='200' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1' /%3E%3C/svg%3E");
  background-position: right 0 top 0, left 0 top 0;
  background-repeat: no-repeat;
}
.miniform {
  padding: 10px;
  display: flex;
  align-self: stretch;
  margin: 0 0.5rem;
}
.miniform > a {
  margin-right: 10px;
  align-self: center;
}
.miniform > input {
  flex: 1 0 0;
  width: 0;
}
.miniform button {
  position: relative;
  z-index: 400;
  --cut-size-local: var(--cut-size, 15px);
  box-shadow: none;
  background: none;
}
.miniform button::before {
  content: '';
  position: absolute;
  inset: 0;
  transition: 300ms;
  border: 1px solid var(--cut-border-color, rgba(208, 92, 59, 0.3));
  z-index: -100;
  background: var(--cut-bg, rgba(255, 255, 255, 0.05));
  box-shadow: 0 0 var(--cut-inner-shadow, 0) 0 var(--cut-border-color, rgba(208, 92, 59, 0.3)) inset;
}
.miniform button::after {
  content: '';
  position: absolute;
  width: 100%;
  bottom: 0;
  left: 0;
  height: var(--cut-size-local);
  pointer-events: none;
}
.miniform button::before {
  clip-path: polygon(0 0, calc(100% + 1px) 0, calc(100% + 1px) calc(100% - var(--cut-size-local)), calc(100% - var(--cut-size-local)) calc(100% + 1px), 0 calc(100% + 1px));
}
.miniform button::after {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cline x1='0' y1='200' x2='200' y2='0' stroke='rgba(208, 92, 59, 0.3)' stroke-width='1.25' /%3E%3C/svg%3E");
  background-position: right 0 top 0;
  background-repeat: no-repeat;
}
.dropable {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0 0 0 0.5ch;
}
.dropable > a {
  aspect-ratio: 1/1;
  height: 2em;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 5px;
  position: relative;
}
.dropable > a::before {
  content: '';
  position: absolute;
  inset: 0;
}
.dropable > a span[data-label] {
  pointer-events: none;
  flex: 1;
  text-align: var(--text-align, center);
}
.dropable > a span[data-label]::before {
  content: attr(data-label);
}
.dropable > a.confirmation_required {
  box-shadow: 0 0 0 1px red inset;
  border-radius: 2px;
}
.dropable > a.confirmation_required::before {
  background-size: 51px 40px;
  background-image: repeating-linear-gradient(-45deg, rgba(255, 0, 0, 0.1) 6px, rgba(255, 0, 0, 0.1) 12px, rgba(255, 0, 0, 0.4) 12px, rgba(255, 0, 0, 0.4) 18px);
  animation: shift_bg linear infinite 2.5s;
}
.dropable > a.confirmation_required span[data-label-alt] {
  font-weight: bold;
  position: relative;
  z-index: 450;
  text-align: center;
  justify-content: center;
}
.dropable > a.confirmation_required span[data-label-alt]::before {
  content: attr(data-label-alt);
}
.dropable > a.confirmation_required.cancel {
  color: red;
}
.spinning {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
@keyframes fadeinout {
  from {
    opacity: 0;
  }
  to {
    opacity: 0.85;
  }
}
.spinning > * {
  width: 5px;
  height: 5px;
  opacity: 0;
  background: #F39058;
  animation: fadeinout infinite 0.5s linear alternate;
}
.spinning > :nth-child(1) {
  animation-delay: 0ms;
}
.spinning > :nth-child(2) {
  animation-delay: 200ms;
}
.spinning > :nth-child(3) {
  animation-delay: 400ms;
}
.spinning > :nth-child(4) {
  animation-delay: 600ms;
}
.spinning > :nth-child(5) {
  animation-delay: 800ms;
}
.filter > .reset {
  position: absolute;
  right: 0;
  bottom: 0;
  padding: 0 10px;
  z-index: 500;
  display: flex;
  align-items: center;
  height: calc(100% - 14px * 1.15);
}
.filter > .reset::before {
  content: '🞬';
}
.filter > .reset:hover {
  color: #F39058;
}
.empty {
  text-align: center;
  margin: auto;
  max-width: 80%;
}
a.collapse,
a.expand {
  aspect-ratio: 1 / 1;
  flex: 0 0 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: relative;
}
a.collapse > .title,
a.expand > .title {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  color: white;
  font-weight: normal;
}
a.collapse > .title > span:not(.tip)::before,
a.expand > .title > span:not(.tip)::before {
  content: ' • ';
}
a.collapse > .title > span:nth-child(2),
a.expand > .title > span:nth-child(2) {
  font-weight: 700;
}
a.collapse > .title > span:nth-child(2) ~ span,
a.expand > .title > span:nth-child(2) ~ span {
  flex: 1 0 100%;
}
a.collapse > .title > .tip,
a.expand > .title > .tip {
  opacity: 0.45;
  font-size: 0.85em;
  font-weight: 500;
  text-transform: lowercase;
}
a.collapse > .title:has( > .tip ),
a.expand > .title:has( > .tip ) {
  justify-content: center;
}
a.collapse[data-title]::after,
a.expand[data-title]::after,
a.collapse > .title,
a.expand > .title {
  content: attr(data-title);
  position: absolute;
  padding: 3px 10px;
  color: white;
  font-weight: normal;
  border: 1px solid #D05C3B;
  background: #191410;
  border-radius: 3px;
  font-variant: small-caps;
  font-size: 0.83rem;
  text-transform: none;
  letter-spacing: 1px;
  z-index: 500;
  transition: 300ms;
  opacity: 1;
  opacity: 0;
  pointer-events: none;
  box-shadow: 0 0 5px 5px rgba(0, 0, 0, 0.65);
  white-space: nowrap;
  left: calc(100% + 10px);
  top: 50%;
  transform: translate(0, -50%);
}
a.collapse:hover::after,
a.expand:hover::after,
a.collapse:hover > .title,
a.expand:hover > .title {
  opacity: 1;
}
a.collapse:hover,
a.expand:hover {
  --deco-color: #F39058;
}
a.collapse.collapse span,
a.expand.collapse span {
  min-width: 22px;
  min-height: 22px;
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
}
a.collapse.collapse span::before,
a.expand.collapse span::before,
a.collapse.collapse span::after,
a.expand.collapse span::after {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  height: 2px;
  background: var(--deco-color, white);
  width: 11px;
  transition: 300ms;
}
a.collapse.collapse span::before,
a.expand.collapse span::before {
  right: calc(50% - 2px);
  transform: rotate(45deg);
}
a.collapse.collapse span::after,
a.expand.collapse span::after {
  left: calc(50% - 2px);
  transform: rotate(-45deg);
}
a.collapse.collapse span::before,
a.expand.collapse span::before {
  transform: rotate(-45deg);
}
a.collapse.collapse span::after,
a.expand.collapse span::after {
  transform: rotate(45deg);
}
a.collapse.expand span,
a.expand.expand span {
  min-width: 22px;
  min-height: 22px;
  width: 100%;
  aspect-ratio: 1 / 1;
  position: relative;
}
a.collapse.expand span::before,
a.expand.expand span::before,
a.collapse.expand span::after,
a.expand.expand span::after {
  content: '';
  position: absolute;
  top: calc(50% - 1px);
  height: 2px;
  background: var(--deco-color, white);
  width: 11px;
  transition: 300ms;
}
a.collapse.expand span::before,
a.expand.expand span::before {
  right: calc(50% - 2px);
  transform: rotate(45deg);
}
a.collapse.expand span::after,
a.expand.expand span::after {
  left: calc(50% - 2px);
  transform: rotate(-45deg);
}
a.collapse.disabled,
a.expand.disabled {
  opacity: 0.35;
  pointer-events: none;
}
*:has(>.character_selection) {
  position: relative;
  z-index: 650;
}
.character_selection {
  position: absolute;
  right: 0;
  bottom: 0;
  background: #302B28;
  border: 1px solid #F39058;
  box-shadow: 0 0 15px 10px rgba(0, 0, 0, 0.5);
}
.character_selection.hidden {
  display: none;
}
.character_selection header {
  padding: 0.5rem;
  justify-content: center;
}
.character_selection .list {
  display: flex;
  flex-wrap: wrap;
  padding: 0.5rem;
  gap: 0.5rem;
  max-width: 220px;
  max-height: 300px;
  overflow: hidden;
  scroll-behavior: smooth;
}
.character_selection .list > * {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  font-weight: normal;
  font-size: 13px;
  align-items: center;
  width: 64px;
  flex: 1 0 64px;
  padding: 0.25rem;
  text-transform: none;
  text-align: center;
  cursor: pointer;
  transition: 300ms;
}
.character_selection .list > *:hover {
  box-shadow: 0 0 0 1px #F39058 inset;
}
.character_selection .list img {
  width: 64px;
}
