/* [project]/app/ui/node_modules/reactflow/dist/style.css [client] (css) */
.react-flow {
  direction: ltr;
}

.react-flow__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.react-flow__pane {
  z-index: 1;
  cursor: grab;
}

.react-flow__pane.selection {
  cursor: pointer;
}

.react-flow__pane.dragging {
  cursor: grabbing;
}

.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}

.react-flow__renderer {
  z-index: 4;
}

.react-flow__selection {
  z-index: 6;
}

.react-flow__nodesselection-rect:focus {
  outline: none;
}

.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}

.react-flow .react-flow__edges {
  pointer-events: none;
  overflow: visible;
}

.react-flow__edge-path, .react-flow__connection-path {
  stroke: #b1b1b7;
  stroke-width: 1px;
  fill: none;
}

.react-flow__edge {
  pointer-events: visibleStroke;
  cursor: pointer;
}

.react-flow__edge.animated path {
  stroke-dasharray: 5;
  animation: .5s linear infinite dashdraw;
}

.react-flow__edge.animated path.react-flow__edge-interaction {
  stroke-dasharray: none;
  animation: none;
}

.react-flow__edge.inactive {
  pointer-events: none;
}

.react-flow__edge.selected, .react-flow__edge:focus {
  outline: none;
}

.react-flow__edge:focus-visible {
  outline: none;
}

.react-flow__edge.selected .react-flow__edge-path, .react-flow__edge:focus .react-flow__edge-path {
  stroke: #555;
}

.react-flow__edge:focus-visible .react-flow__edge-path {
  stroke: #555;
}

.react-flow__edge-textwrapper {
  pointer-events: all;
}

.react-flow__edge-textbg {
  fill: #fff;
}

.react-flow__edge .react-flow__edge-text {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.react-flow__connection {
  pointer-events: none;
}

.react-flow__connection .animated {
  stroke-dasharray: 5;
  animation: .5s linear infinite dashdraw;
}

.react-flow__connectionline {
  z-index: 1001;
}

.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}

.react-flow__node {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: grab;
  position: absolute;
}

.react-flow__node.dragging {
  cursor: grabbing;
}

.react-flow__nodesselection {
  z-index: 3;
  transform-origin: 0 0;
  pointer-events: none;
}

.react-flow__nodesselection-rect {
  pointer-events: all;
  cursor: grab;
  position: absolute;
}

.react-flow__handle {
  pointer-events: none;
  background: #1a192b;
  border: 1px solid #fff;
  border-radius: 100%;
  width: 6px;
  min-width: 5px;
  height: 6px;
  min-height: 5px;
  position: absolute;
}

.react-flow__handle.connectionindicator {
  pointer-events: all;
  cursor: crosshair;
}

.react-flow__handle-bottom {
  top: auto;
  bottom: -4px;
  left: 50%;
  transform: translate(-50%);
}

.react-flow__handle-top {
  top: -4px;
  left: 50%;
  transform: translate(-50%);
}

.react-flow__handle-left {
  top: 50%;
  left: -4px;
  transform: translate(0, -50%);
}

.react-flow__handle-right {
  top: 50%;
  right: -4px;
  transform: translate(0, -50%);
}

.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}

.react-flow__panel {
  z-index: 5;
  margin: 15px;
  position: absolute;
}

.react-flow__panel.top {
  top: 0;
}

.react-flow__panel.bottom {
  bottom: 0;
}

.react-flow__panel.left {
  left: 0;
}

.react-flow__panel.right {
  right: 0;
}

.react-flow__panel.center {
  left: 50%;
  transform: translateX(-50%);
}

.react-flow__attribution {
  background: rgba(255, 255, 255, .5);
  margin: 0;
  padding: 2px 3px;
  font-size: 10px;
}

.react-flow__attribution a {
  color: #999;
  text-decoration: none;
}

@keyframes dashdraw {
  from {
    stroke-dashoffset: 10px;
  }
}

.react-flow__edgelabel-renderer {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
  height: 100%;
  position: absolute;
}

.react-flow__edge.updating .react-flow__edge-path {
  stroke: #777;
}

.react-flow__edge-text {
  font-size: 10px;
}

.react-flow__node.selectable:focus {
  outline: none;
}

.react-flow__node.selectable:focus-visible {
  outline: none;
}

.react-flow__node-default, .react-flow__node-input, .react-flow__node-output, .react-flow__node-group {
  color: #222;
  text-align: center;
  background-color: #fff;
  border: 1px solid #1a192b;
  border-radius: 3px;
  width: 150px;
  padding: 10px;
  font-size: 12px;
}

.react-flow__node-default.selectable:hover, .react-flow__node-input.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
  box-shadow: 0 1px 4px 1px rgba(0, 0, 0, .08);
}

.react-flow__node-default.selectable.selected, .react-flow__node-default.selectable:focus, .react-flow__node-input.selectable.selected, .react-flow__node-input.selectable:focus, .react-flow__node-output.selectable.selected, .react-flow__node-output.selectable:focus, .react-flow__node-group.selectable.selected, .react-flow__node-group.selectable:focus {
  box-shadow: 0 0 0 .5px #1a192b;
}

.react-flow__node-default.selectable:focus-visible {
  box-shadow: 0 0 0 .5px #1a192b;
}

.react-flow__node-input.selectable:focus-visible {
  box-shadow: 0 0 0 .5px #1a192b;
}

.react-flow__node-output.selectable:focus-visible {
  box-shadow: 0 0 0 .5px #1a192b;
}

.react-flow__node-group.selectable:focus-visible {
  box-shadow: 0 0 0 .5px #1a192b;
}

.react-flow__node-group {
  background-color: rgba(240, 240, 240, .25);
}

.react-flow__nodesselection-rect, .react-flow__selection {
  background: rgba(0, 89, 220, .08);
  border: 1px dotted rgba(0, 89, 220, .8);
}

.react-flow__nodesselection-rect:focus, .react-flow__selection:focus {
  outline: none;
}

.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}

.react-flow__selection:focus-visible {
  outline: none;
}

.react-flow__controls {
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, .08);
}

.react-flow__controls-button {
  box-sizing: content-box;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  background: #fefefe;
  border: none;
  border-bottom: 1px solid #eee;
  justify-content: center;
  align-items: center;
  width: 16px;
  height: 16px;
  padding: 5px;
  display: flex;
}

.react-flow__controls-button:hover {
  background: #f4f4f4;
}

.react-flow__controls-button svg {
  width: 100%;
  max-width: 12px;
  max-height: 12px;
}

.react-flow__controls-button:disabled {
  pointer-events: none;
}

.react-flow__controls-button:disabled svg {
  fill-opacity: .4;
}

.react-flow__minimap {
  background-color: #fff;
}

.react-flow__minimap svg {
  display: block;
}

.react-flow__resize-control {
  position: absolute;
}

.react-flow__resize-control.left, .react-flow__resize-control.right {
  cursor: ew-resize;
}

.react-flow__resize-control.top, .react-flow__resize-control.bottom {
  cursor: ns-resize;
}

.react-flow__resize-control.top.left, .react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}

.react-flow__resize-control.bottom.left, .react-flow__resize-control.top.right {
  cursor: nesw-resize;
}

.react-flow__resize-control.handle {
  background-color: #3367d9;
  border: 1px solid #fff;
  border-radius: 1px;
  width: 4px;
  height: 4px;
  transform: translate(-50%, -50%);
}

.react-flow__resize-control.handle.left {
  top: 50%;
  left: 0;
}

.react-flow__resize-control.handle.right {
  top: 50%;
  left: 100%;
}

.react-flow__resize-control.handle.top {
  top: 0;
  left: 50%;
}

.react-flow__resize-control.handle.bottom {
  top: 100%;
  left: 50%;
}

.react-flow__resize-control.handle.top.left, .react-flow__resize-control.handle.bottom.left {
  left: 0;
}

.react-flow__resize-control.handle.top.right, .react-flow__resize-control.handle.bottom.right {
  left: 100%;
}

.react-flow__resize-control.line {
  border: 0 solid #3367d9;
}

.react-flow__resize-control.line.left, .react-flow__resize-control.line.right {
  width: 1px;
  height: 100%;
  top: 0;
  transform: translate(-50%);
}

.react-flow__resize-control.line.left {
  border-left-width: 1px;
  left: 0;
}

.react-flow__resize-control.line.right {
  border-right-width: 1px;
  left: 100%;
}

.react-flow__resize-control.line.top, .react-flow__resize-control.line.bottom {
  width: 100%;
  height: 1px;
  left: 0;
  transform: translate(0, -50%);
}

.react-flow__resize-control.line.top {
  border-top-width: 1px;
  top: 0;
}

.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}

/* [project]/app/ui/src/components/QuotaProgressBar/quota.css [client] (css) */
.thermometer .thermometer__mercury {
  transition: all .5s ease-in-out;
}

.thermometer .thermometer__percent-current:before, .thermometer .thermometer__percent-current:after, .thermometer .thermometer__draw-b:after, .thermometer__draw-bReverse:after, .thermometer .thermometer__draw-b:before, .thermometer__draw-bReverse:before {
  content: "";
  margin: auto;
}

.thermometer ul.thermometer__statistics {
  font-size: 11px;
  font-style: italic;
  font-weight: 500;
}

.thermometer .thermometer__percent-current {
  font-size: 10px;
  font-style: normal;
  font-weight: 500;
}

.thermometer ul.thermometer__statistics {
  margin: 0;
  padding: 0;
}

.thermometer--small ul.thermometer__statistics li {
  width: 52px;
  padding-left: 8px;
}

.thermometer--small .thermometer__draw-a {
  width: 14px;
}

.thermometer--small .thermometer__draw-a:after {
  top: initial;
  right: initial;
  width: 34px;
  height: 34px;
  position: absolute;
  bottom: -12px;
  left: -10px;
}

.thermometer--small .thermometer__draw-b:before {
  width: 4px;
}

.thermometer--small .thermometer__draw-b:after {
  top: 13px;
  right: 0;
  bottom: initial;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
}

.thermometer--small .thermometer__draw-bReverse:before {
  width: 4px;
}

.thermometer--small .thermometer__draw-bReverse:after {
  top: 13px;
  right: 0;
  bottom: initial;
  width: 24px;
  height: 24px;
  position: absolute;
  left: 0;
}

.thermometer--small .thermometer__meter {
  width: 4px;
}

.thermometer--normal ul.thermometer__statistics li {
  width: 42px;
  padding-left: 13px;
}

.thermometer--normal .thermometer__draw-a {
  width: 30px;
}

.thermometer--normal .thermometer__draw-a:after {
  top: initial;
  right: initial;
  width: 50px;
  height: 50px;
  position: absolute;
  bottom: -20px;
  left: -10px;
}

.thermometer--normal .thermometer__draw-b:before {
  width: 10px;
}

.thermometer--normal .thermometer__draw-b:after {
  top: 8px;
  right: 0;
  bottom: initial;
  width: 34px;
  height: 34px;
  position: absolute;
  left: 0;
}

.thermometer--normal .thermometer__draw-bReverse:before {
  width: 10px;
}

.thermometer--normal .thermometer__draw-bReverse:after {
  top: 8px;
  right: 0;
  bottom: initial;
  width: 34px;
  height: 34px;
  position: absolute;
  left: 0;
}

.thermometer--normal .thermometer__meter {
  width: 10px;
}

.thermometer--large ul.thermometer__statistics li {
  width: 52px;
  padding-left: 34px;
}

.thermometer--large .thermometer__draw-a {
  width: 50px;
}

.thermometer--large .thermometer__draw-a:after {
  top: initial;
  right: initial;
  width: 70px;
  height: 70px;
  position: absolute;
  bottom: -30px;
  left: -10px;
}

.thermometer--large .thermometer__draw-b:before {
  width: 30px;
}

.thermometer--large .thermometer__draw-b:after {
  top: 0;
  right: 0;
  bottom: initial;
  width: 50px;
  height: 50px;
  position: absolute;
  left: 0;
}

.thermometer--large .thermometer__draw-bReverse:before {
  width: 30px;
}

.thermometer--large .thermometer__draw-bReverse:after {
  top: 0;
  right: 0;
  bottom: initial;
  width: 50px;
  height: 50px;
  position: absolute;
  left: 0;
}

.thermometer--large .thermometer__meter {
  width: 30px;
}

.thermometer--theme-light .thermometer__draw-a, .thermometer--theme-light .thermometer__draw-a:before, .thermometer--theme-light .thermometer__draw-a:after {
  background-color: #fff;
}

.thermometer--theme-light .thermometer__meter {
  background-color: #d6d6d6;
}

.thermometer--theme-light ul.thermometer__statistics li {
  color: #000;
}

.thermometer--theme-light ul.thermometer__statistics li:before {
  background: linear-gradient(90deg, rgba(0, 0, 0, .2), rgba(0, 0, 0, 0));
}

.thermometer--theme-light .thermometer__percent-current {
  color: #000;
  background-color: #fff;
}

.thermometer--theme-light .thermometer__percent-current:after {
  border-left: 8px solid #fff;
}

.thermometer--theme-dark .thermometer__draw-a, .thermometer--theme-dark .thermometer__draw-a:before, .thermometer--theme-dark .thermometer__draw-a:after {
  background-color: #333;
}

.thermometer--theme-dark .thermometer__meter {
  background-color: #1d1d1d;
}

.thermometer--theme-dark ul.thermometer__statistics li {
  color: #fff;
}

.thermometer--theme-dark ul.thermometer__statistics li:before {
  background: linear-gradient(90deg, rgba(255, 255, 255, .2), rgba(0, 0, 0, 0));
}

.thermometer--theme-dark .thermometer__percent-current {
  color: #fff;
  background-color: #1d1d1d;
}

.thermometer--theme-dark .thermometer__percent-current:after {
  border-left: 8px solid #1d1d1d;
}

.thermometer {
  width: 100px;
  position: relative;
}

.thermometer ul.thermometer__statistics {
  top: 0;
  right: initial;
  bottom: initial;
  z-index: 1;
  height: 100%;
  position: absolute;
  left: 0;
}

.thermometer ul.thermometer__statistics li {
  top: initial;
  right: initial;
  bottom: initial;
  list-style: none;
  position: absolute;
  left: 0;
}

.thermometer ul.thermometer__statistics li:before {
  top: initial;
  right: initial;
  content: "";
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: -1px;
  left: 0;
}

.thermometer .thermometer__meter {
  top: 12px;
  right: 0;
  bottom: initial;
  z-index: 1;
  border-radius: 50px 50px 0 0;
  height: calc(100% - 58px);
  margin: auto;
  position: absolute;
  left: 0;
}

.thermometer .thermometer__mercury {
  top: initial;
  right: initial;
  border-radius: 50px 50px 0 0;
  width: 100%;
  height: 0;
  position: absolute;
  bottom: 0;
  left: 0;
}

.thermometer .thermometer__mask {
  top: initial;
  right: initial;
  bottom: -1px;
  left: initial;
  border-radius: 50px 50px 0 0;
  width: 100%;
  height: 100%;
  position: absolute;
  overflow: hidden;
}

.thermometer .thermometer__bg-color {
  top: initial;
  right: initial;
  bottom: 0;
  left: initial;
  background: linear-gradient(#2196f3, #8bc34a, #f44336);
  width: 100%;
  position: absolute;
}

.thermometer .thermometer__bg-colorReverse {
  top: initial;
  right: initial;
  bottom: 0;
  left: initial;
  background: linear-gradient(#f44336, #8bc34a, #2196f3);
  width: 100%;
  position: absolute;
}

.thermometer .thermometer__percent-current {
  top: 4px;
  right: initial;
  bottom: initial;
  border-radius: 2px;
  padding: 5px 10px;
  position: absolute;
  left: 0;
  transform: translateX(calc(-100% - 8px))translateY(-50%);
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .1), 3px 3px 6px rgba(0, 0, 0, .1);
}

.thermometer .thermometer__percent-current:before, .thermometer .thermometer__percent-current:after {
  top: 0;
  bottom: 0;
  right: 0;
  left: initial;
  width: 0;
  height: 0;
  position: absolute;
}

.thermometer .thermometer__percent-current:after {
  border-top: 6px solid rgba(0, 0, 0, 0);
  border-bottom: 6px solid rgba(0, 0, 0, 0);
  transform: translateX(calc(100% - 2px))translateY(0);
}

.thermometer .thermometer__percent-current:before {
  border-top: 6px solid rgba(0, 0, 0, 0);
  border-bottom: 6px solid rgba(0, 0, 0, 0);
  border-left: 8px solid rgba(0, 0, 0, .1);
  transform: translateX(100%)translateY(0);
}

.thermometer .thermometer__draw-a {
  border-radius: 50px 50px 0 0;
  height: calc(100% - 20px);
  margin: auto;
  position: relative;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05), 1px 1px 5px rgba(0, 0, 0, .2);
}

.thermometer .thermometer__draw-a:after, .thermometer .thermometer__draw-a:before {
  content: "";
}

.thermometer .thermometer__draw-a:before {
  top: initial;
  right: initial;
  z-index: 1;
  width: 100%;
  height: 50px;
  position: absolute;
  bottom: 0;
  left: 0;
}

.thermometer .thermometer__draw-a:after {
  border-radius: 50%;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .05), 1px 1px 5px rgba(0, 0, 0, .2);
}

.thermometer .thermometer__draw-b {
  top: initial;
  z-index: 1;
  width: 50px;
  height: 50px;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.thermometer .thermometer__draw-b:after {
  background-color: #f44336;
  border-radius: 50%;
}

.thermometer .thermometer__draw-b:before {
  background-color: #f44336;
  border-radius: 50px 50px 0 0;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 40px;
  left: 0;
  right: 0;
}

.thermometer .thermometer__draw-bReverse {
  top: initial;
  z-index: 1;
  width: 50px;
  height: 50px;
  margin: auto;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}

.thermometer .thermometer__draw-bReverse:after {
  background-color: #2196f3;
  border-radius: 50%;
}

.thermometer .thermometer__draw-bReverse:before {
  background-color: #2196f3;
  border-radius: 50px 50px 0 0;
  height: 20px;
  position: absolute;
  top: 0;
  bottom: 40px;
  left: 0;
  right: 0;
}

/* [project]/app/ui/src/styles/quill-theme.css [client] (css) */
.ql-editor {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text)));
  background-color: var(--ql-bg, var(--mui-palette-background-paper, var(--fallback-bg)));
  font-family: var(--mui-typography-fontFamily, var(--fallback-font));
  border-radius: 0 0 var(--mui-shape-borderRadius, var(--fallback-radius)) var(--mui-shape-borderRadius, var(--fallback-radius));
}

.ql-toolbar {
  border-color: var(--ql-toolbar-border, var(--mui-palette-divider, var(--fallback-border)));
  background-color: var(--ql-toolbar-bg, var(--mui-palette-background-default, var(--fallback-toolbar-bg)));
  box-shadow: var(--mui-shadows-4, var(--fallback-shadow));
  border-radius: var(--mui-shape-borderRadius, var(--fallback-radius)) var(--mui-shape-borderRadius, var(--fallback-radius)) 0 0;
}

.ql-toolbar button, .ql-toolbar .ql-picker {
  border-radius: var(--mui-shape-borderRadius, var(--fallback-radius));
  transition: background-color .2s, color .2s;
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-toolbar button:hover {
  background-color: var(--ql-hover-bg, var(--mui-palette-action-hover, var(--fallback-hover)));
}

.ql-toolbar button:hover .ql-stroke {
  stroke: var(--ql-hover-color, var(--mui-palette-primary-main, var(--fallback-primary)));
  transition: stroke .2s;
}

.ql-toolbar button:hover .ql-fill {
  fill: var(--ql-hover-color, var(--mui-palette-primary-main, var(--fallback-primary)));
  transition: fill .2s;
}

.ql-toolbar button.ql-active {
  background-color: var(--ql-active-bg, var(--mui-palette-action-selected, var(--fallback-selected)));
}

.ql-toolbar button.ql-active .ql-stroke {
  stroke: var(--ql-active-color, var(--mui-palette-primary-main, var(--fallback-primary)));
}

.ql-toolbar button.ql-active .ql-fill {
  fill: var(--ql-active-color, var(--mui-palette-primary-main, var(--fallback-primary)));
}

.ql-toolbar .ql-stroke {
  stroke: var(--ql-stroke, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-toolbar .ql-fill {
  fill: var(--ql-fill, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-toolbar .ql-picker-label, .ql-toolbar .ql-picker-label:before {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-container {
  border-color: var(--ql-border-color, var(--mui-palette-divider, var(--fallback-border)));
  font-family: var(--mui-typography-fontFamily, var(--fallback-font));
  border-radius: 0 0 var(--mui-shape-borderRadius, var(--fallback-radius)) var(--mui-shape-borderRadius, var(--fallback-radius));
}

.ql-container.ql-snow:focus-within {
  box-sizing: border-box;
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

.ql-container.ql-snow:focus-within + .ql-toolbar.ql-snow, .ql-container:focus-within .ql-toolbar.ql-snow {
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

.ql-toolbar.ql-snow:has( + .ql-container:focus-within) {
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

[data-theme] .ql-container:focus-within, [data-theme] .ql-editor:focus {
  outline: none;
}

.ql-editor:focus ~ .ql-toolbar, .ql-editor:focus + .ql-container {
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

[data-theme]:has(.ql-editor:focus) .ql-toolbar.ql-snow {
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

[data-theme]:has(.ql-editor:focus) .ql-container.ql-snow {
  border-color: var(--ql-focus-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

.ql-editor-focused .ql-toolbar.ql-snow, .ql-editor-focused .ql-container.ql-snow {
  transition: border-color .2s ease-in-out, border-width .2s ease-in-out;
  border-color: var(--ql-border-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  border-width: 2px !important;
}

.ql-container.ql-snow {
  border-color: var(--ql-border-color, var(--mui-palette-divider, var(--fallback-border)));
}

.ql-toolbar.ql-snow {
  border-color: var(--ql-toolbar-border, var(--mui-palette-divider, var(--fallback-border)));
}

.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: none;
}

.ql-snow .ql-tooltip {
  background-color: var(--ql-tooltip-bg, var(--mui-palette-background-paper, var(--fallback-bg)));
  border: 1px solid var(--ql-border-color, var(--mui-palette-divider, var(--fallback-border)));
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text)));
  box-shadow: var(--mui-shadows-4, var(--fallback-shadow));
  border-radius: var(--mui-shape-borderRadius, var(--fallback-radius));
  white-space: nowrap;
  z-index: 10000;
  box-sizing: border-box;
  min-width: 220px;
  max-width: 400px;
  padding: 8px 12px;
  overflow: visible;
  left: 0 !important;
  transform: none !important;
}

.ql-snow .ql-picker-options {
  z-index: 9999;
  padding: 4px 0;
  background-color: var(--ql-tooltip-bg, var(--mui-palette-background-paper, var(--fallback-bg))) !important;
  border: 1px solid var(--ql-border-color, var(--mui-palette-divider, var(--fallback-border))) !important;
  box-shadow: var(--mui-shadows-4, var(--fallback-shadow)) !important;
  border-radius: var(--mui-shape-borderRadius, var(--fallback-radius)) !important;
}

.ql-snow .ql-picker-item {
  padding: 6px 16px;
  transition: background-color .2s;
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker-item:hover {
  background-color: var(--ql-hover-bg, var(--mui-palette-action-hover, var(--fallback-hover))) !important;
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-options {
  background-color: var(--ql-tooltip-bg, var(--mui-palette-background-paper, var(--fallback-bg))) !important;
  border: 1px solid var(--ql-border-color, var(--mui-palette-divider, var(--fallback-border))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item:hover {
  background-color: var(--ql-hover-bg, var(--mui-palette-action-hover, var(--fallback-hover))) !important;
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item:not([data-value]):before, .ql-toolbar button span, .ql-toolbar .ql-picker span {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-editor.ql-blank:before {
  opacity: .7;
  font-style: normal;
  color: var(--ql-placeholder-color, var(--mui-palette-text-secondary, var(--fallback-secondary))) !important;
}

[data-theme="dark"] .ql-editor.ql-blank:before, .ql-container[data-theme="dark"] .ql-editor.ql-blank:before, [data-theme="light"] .ql-editor.ql-blank:before, .ql-container[data-theme="light"] .ql-editor.ql-blank:before {
  color: var(--ql-placeholder-color, var(--mui-palette-text-secondary, var(--fallback-secondary))) !important;
}

.ql-toolbar button span, .ql-toolbar .ql-picker span {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-stroke {
  stroke: var(--ql-stroke, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-fill {
  fill: var(--ql-fill, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker-label:after {
  border-top-color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker-options .ql-picker-item {
  color: var(--ql-color, var(--mui-palette-text-primary, var(--fallback-text))) !important;
}

.ql-snow .ql-picker-options .ql-picker-item.ql-selected {
  color: var(--ql-active-color, var(--mui-palette-primary-main, var(--fallback-primary))) !important;
  background-color: var(--ql-active-bg, var(--mui-palette-action-selected, var(--fallback-selected))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  background-color: rgba(0, 0, 0, 0) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item:hover {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  background-color: var(--ql-hover-bg, var(--mui-palette-action-hover, rgba(0, 0, 0, .04))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item.ql-selected {
  color: var(--ql-active-color, var(--mui-palette-primary-main, #1976d2)) !important;
  background-color: var(--ql-active-bg, var(--mui-palette-action-selected, rgba(25, 118, 210, .08))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-label, .ql-snow .ql-picker.ql-header .ql-picker-item, .ql-snow .ql-picker.ql-header span {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  opacity: 1 !important;
  visibility: visible !important;
}

[data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item, .ql-container[data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item {
  color: var(--ql-color, var(--mui-palette-text-primary, #fff)) !important;
}

[data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item:hover, .ql-container[data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options .ql-picker-item:hover {
  color: var(--ql-color, var(--mui-palette-text-primary, #fff)) !important;
  background-color: var(--ql-hover-bg, var(--mui-palette-action-hover, rgba(255, 255, 255, .08))) !important;
}

.ql-snow .ql-picker.ql-header {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-label {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  background: var(--ql-toolbar-bg, var(--mui-palette-background-default, #fafafa)) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-options {
  background: var(--ql-bg, var(--mui-palette-background-paper, #fff)) !important;
  border: 1px solid var(--ql-border-color, var(--mui-palette-divider, #e0e0e0)) !important;
  box-shadow: var(--mui-shadows-4, 0px 2px 4px -1px rgba(0, 0, 0, .2)) !important;
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  z-index: 10000 !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  background: var(--ql-bg, var(--mui-palette-background-paper, #fff)) !important;
  opacity: 1 !important;
  visibility: visible !important;
  padding: 8px 12px !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item:hover {
  color: var(--ql-hover-color, var(--mui-palette-primary-main, #1976d2)) !important;
  background: var(--ql-hover-bg, var(--mui-palette-action-hover, rgba(0, 0, 0, .04))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item.ql-selected {
  color: var(--ql-active-color, var(--mui-palette-primary-main, #1976d2)) !important;
  background: var(--ql-active-bg, var(--mui-palette-action-selected, rgba(25, 118, 210, .08))) !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: 2em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: 1.5em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: 1.17em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: 1em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: .83em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: .67em !important;
  font-weight: bold !important;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value=""] {
  color: var(--ql-color, var(--mui-palette-text-primary, #000)) !important;
  font-size: 1em !important;
}

[data-mui-color-scheme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-label, [data-mui-color-scheme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item, [data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-label, [data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item {
  color: #fff !important;
}

[data-mui-color-scheme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options, [data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-options {
  background: #2a2a2a !important;
  border-color: #424242 !important;
}

[data-mui-color-scheme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item, [data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item {
  background: #2a2a2a !important;
}

[data-mui-color-scheme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item:hover, [data-theme="dark"] .ql-snow .ql-picker.ql-header .ql-picker-item:hover {
  color: #90caf9 !important;
  background: rgba(255, 255, 255, .08) !important;
}

[data-mui-color-scheme="light"] .ql-snow .ql-picker.ql-header .ql-picker-label, [data-mui-color-scheme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item, [data-theme="light"] .ql-snow .ql-picker.ql-header .ql-picker-label, [data-theme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item {
  color: #000 !important;
}

[data-mui-color-scheme="light"] .ql-snow .ql-picker.ql-header .ql-picker-options, [data-theme="light"] .ql-snow .ql-picker.ql-header .ql-picker-options {
  background: #fff !important;
  border-color: #e0e0e0 !important;
}

[data-mui-color-scheme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item, [data-theme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item {
  background: #fff !important;
}

[data-mui-color-scheme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item:hover, [data-theme="light"] .ql-snow .ql-picker.ql-header .ql-picker-item:hover {
  color: #1976d2 !important;
  background: rgba(0, 0, 0, .04) !important;
}

.ql-snow .ql-tooltip input {
  color: #222;
  box-sizing: border-box;
  background: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  width: 180px;
  padding: 4px 8px;
  font-size: 1em;
}

[data-theme="dark"] .ql-snow .ql-tooltip input, [data-mui-color-scheme="dark"] .ql-snow .ql-tooltip input {
  color: #fff;
  background: #222;
  border: 1px solid #444;
}

/* [project]/app/ui/node_modules/@xyflow/react/dist/style.css [client] (css) */
.react-flow {
  --xy-edge-stroke-default: #b1b1b7;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #555;
  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;
  --xy-attribution-background-color-default: rgba(255, 255, 255, .5);
  --xy-minimap-background-color-default: #fff;
  --xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #e2e2e2;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;
  --xy-background-color-default: transparent;
  --xy-background-pattern-dots-color-default: #91919a;
  --xy-background-pattern-lines-color-default: #eee;
  --xy-background-pattern-cross-color-default: #e2e2e2;
  background-color: var(--xy-background-color, var(--xy-background-color-default));
  --xy-node-color-default: inherit;
  --xy-node-border-default: 1px solid #1a192b;
  --xy-node-background-color-default: #fff;
  --xy-node-group-background-color-default: rgba(240, 240, 240, .25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);
  --xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;
  --xy-node-border-radius-default: 3px;
  --xy-handle-background-color-default: #1a192b;
  --xy-handle-border-color-default: #fff;
  --xy-selection-background-color-default: rgba(0, 89, 220, .08);
  --xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);
  --xy-controls-button-background-color-default: #fefefe;
  --xy-controls-button-background-color-hover-default: #f4f4f4;
  --xy-controls-button-color-default: inherit;
  --xy-controls-button-color-hover-default: inherit;
  --xy-controls-button-border-color-default: #eee;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);
  --xy-edge-label-background-color-default: #fff;
  --xy-edge-label-color-default: inherit;
  --xy-resize-background-color-default: #3367d9;
  direction: ltr;
}

.react-flow.dark {
  --xy-edge-stroke-default: #3e3e3e;
  --xy-edge-stroke-width-default: 1;
  --xy-edge-stroke-selected-default: #727272;
  --xy-connectionline-stroke-default: #b1b1b7;
  --xy-connectionline-stroke-width-default: 1;
  --xy-attribution-background-color-default: rgba(150, 150, 150, .25);
  --xy-minimap-background-color-default: #141414;
  --xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);
  --xy-minimap-mask-stroke-color-default: transparent;
  --xy-minimap-mask-stroke-width-default: 1;
  --xy-minimap-node-background-color-default: #2b2b2b;
  --xy-minimap-node-stroke-color-default: transparent;
  --xy-minimap-node-stroke-width-default: 2;
  --xy-background-color-default: #141414;
  --xy-background-pattern-dots-color-default: #777;
  --xy-background-pattern-lines-color-default: #777;
  --xy-background-pattern-cross-color-default: #777;
  --xy-node-color-default: #f8f8f8;
  --xy-node-border-default: 1px solid #3c3c3c;
  --xy-node-background-color-default: #1e1e1e;
  --xy-node-group-background-color-default: rgba(240, 240, 240, .25);
  --xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);
  --xy-node-boxshadow-selected-default: 0 0 0 .5px #999;
  --xy-handle-background-color-default: #bebebe;
  --xy-handle-border-color-default: #1e1e1e;
  --xy-selection-background-color-default: rgba(200, 200, 220, .08);
  --xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);
  --xy-controls-button-background-color-default: #2b2b2b;
  --xy-controls-button-background-color-hover-default: #3e3e3e;
  --xy-controls-button-color-default: #f8f8f8;
  --xy-controls-button-color-hover-default: #fff;
  --xy-controls-button-border-color-default: #5b5b5b;
  --xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);
  --xy-edge-label-background-color-default: #141414;
  --xy-edge-label-color-default: #f8f8f8;
}

.react-flow__background {
  background-color: var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));
  pointer-events: none;
  z-index: -1;
}

.react-flow__container {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.react-flow__pane {
  z-index: 1;
}

.react-flow__pane.draggable {
  cursor: grab;
}

.react-flow__pane.dragging {
  cursor: grabbing;
}

.react-flow__pane.selection {
  cursor: pointer;
}

.react-flow__viewport {
  transform-origin: 0 0;
  z-index: 2;
  pointer-events: none;
}

.react-flow__renderer {
  z-index: 4;
}

.react-flow__selection {
  z-index: 6;
}

.react-flow__nodesselection-rect:focus {
  outline: none;
}

.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}

.react-flow__edge-path {
  stroke: var(--xy-edge-stroke, var(--xy-edge-stroke-default));
  stroke-width: var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));
  fill: none;
}

.react-flow__connection-path {
  stroke: var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));
  stroke-width: var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));
  fill: none;
}

.react-flow .react-flow__edges {
  position: absolute;
}

.react-flow .react-flow__edges svg {
  pointer-events: none;
  position: absolute;
  overflow: visible;
}

.react-flow__edge {
  pointer-events: visibleStroke;
}

.react-flow__edge.selectable {
  cursor: pointer;
}

.react-flow__edge.animated path {
  stroke-dasharray: 5;
  animation: .5s linear infinite dashdraw;
}

.react-flow__edge.animated path.react-flow__edge-interaction {
  stroke-dasharray: none;
  animation: none;
}

.react-flow__edge.inactive {
  pointer-events: none;
}

.react-flow__edge.selected, .react-flow__edge:focus {
  outline: none;
}

.react-flow__edge:focus-visible {
  outline: none;
}

.react-flow__edge.selected .react-flow__edge-path, .react-flow__edge.selectable:focus .react-flow__edge-path {
  stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
}

.react-flow__edge.selectable:focus-visible .react-flow__edge-path {
  stroke: var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default));
}

.react-flow__edge-textwrapper {
  pointer-events: all;
}

.react-flow__edge .react-flow__edge-text {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
}

.react-flow__connection {
  pointer-events: none;
}

.react-flow__connection .animated {
  stroke-dasharray: 5;
  animation: .5s linear infinite dashdraw;
}

svg.react-flow__connectionline {
  z-index: 1001;
  position: absolute;
  overflow: visible;
}

.react-flow__nodes {
  pointer-events: none;
  transform-origin: 0 0;
}

.react-flow__node {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  pointer-events: all;
  transform-origin: 0 0;
  box-sizing: border-box;
  cursor: default;
  position: absolute;
}

.react-flow__node.selectable {
  cursor: pointer;
}

.react-flow__node.draggable {
  cursor: grab;
  pointer-events: all;
}

.react-flow__node.draggable.dragging {
  cursor: grabbing;
}

.react-flow__nodesselection {
  z-index: 3;
  transform-origin: 0 0;
  pointer-events: none;
}

.react-flow__nodesselection-rect {
  pointer-events: all;
  cursor: grab;
  position: absolute;
}

.react-flow__handle {
  pointer-events: none;
  background-color: var(--xy-handle-background-color, var(--xy-handle-background-color-default));
  border: 1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));
  border-radius: 100%;
  width: 6px;
  min-width: 5px;
  height: 6px;
  min-height: 5px;
  position: absolute;
}

.react-flow__handle.connectingfrom {
  pointer-events: all;
}

.react-flow__handle.connectionindicator {
  pointer-events: all;
  cursor: crosshair;
}

.react-flow__handle-bottom {
  top: auto;
  bottom: 0;
  left: 50%;
  transform: translate(-50%, 50%);
}

.react-flow__handle-top {
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.react-flow__handle-left {
  top: 50%;
  left: 0;
  transform: translate(-50%, -50%);
}

.react-flow__handle-right {
  top: 50%;
  right: 0;
  transform: translate(50%, -50%);
}

.react-flow__edgeupdater {
  cursor: move;
  pointer-events: all;
}

.react-flow__panel {
  z-index: 5;
  margin: 15px;
  position: absolute;
}

.react-flow__panel.top {
  top: 0;
}

.react-flow__panel.bottom {
  bottom: 0;
}

.react-flow__panel.top.center, .react-flow__panel.bottom.center {
  left: 50%;
  transform: translateX(-15px)translateX(-50%);
}

.react-flow__panel.left {
  left: 0;
}

.react-flow__panel.right {
  right: 0;
}

.react-flow__panel.left.center, .react-flow__panel.right.center {
  top: 50%;
  transform: translateY(-15px)translateY(-50%);
}

.react-flow__attribution {
  background: var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));
  margin: 0;
  padding: 2px 3px;
  font-size: 10px;
}

.react-flow__attribution a {
  color: #999;
  text-decoration: none;
}

@keyframes dashdraw {
  from {
    stroke-dashoffset: 10px;
  }
}

.react-flow__edgelabel-renderer {
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.react-flow__viewport-portal {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.react-flow__minimap {
  background: var(--xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)));
}

.react-flow__minimap-svg {
  display: block;
}

.react-flow__minimap-mask {
  fill: var(--xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)));
  stroke: var(--xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)));
  stroke-width: var(--xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)));
}

.react-flow__minimap-node {
  fill: var(--xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)));
  stroke: var(--xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)));
  stroke-width: var(--xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)));
}

.react-flow__background-pattern.dots {
  fill: var(--xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)));
}

.react-flow__background-pattern.lines {
  stroke: var(--xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)));
}

.react-flow__background-pattern.cross {
  stroke: var(--xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)));
}

.react-flow__controls {
  box-shadow: var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default));
  flex-direction: column;
  display: flex;
}

.react-flow__controls.horizontal {
  flex-direction: row;
}

.react-flow__controls-button {
  background: var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));
  border: none;
  border-bottom: 1px solid var(--xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)));
  width: 26px;
  height: 26px;
  color: var(--xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)));
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  justify-content: center;
  align-items: center;
  padding: 4px;
  display: flex;
}

.react-flow__controls-button svg {
  fill: currentColor;
  width: 100%;
  max-width: 12px;
  max-height: 12px;
}

.react-flow__edge.updating .react-flow__edge-path {
  stroke: #777;
}

.react-flow__edge-text {
  font-size: 10px;
}

.react-flow__node.selectable:focus {
  outline: none;
}

.react-flow__node.selectable:focus-visible {
  outline: none;
}

.react-flow__node-input, .react-flow__node-default, .react-flow__node-output, .react-flow__node-group {
  border-radius: var(--xy-node-border-radius, var(--xy-node-border-radius-default));
  width: 150px;
  color: var(--xy-node-color, var(--xy-node-color-default));
  text-align: center;
  border: var(--xy-node-border, var(--xy-node-border-default));
  background-color: var(--xy-node-background-color, var(--xy-node-background-color-default));
  padding: 10px;
  font-size: 12px;
}

.react-flow__node-input.selectable:hover, .react-flow__node-default.selectable:hover, .react-flow__node-output.selectable:hover, .react-flow__node-group.selectable:hover {
  box-shadow: var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default));
}

.react-flow__node-input.selectable.selected, .react-flow__node-input.selectable:focus, .react-flow__node-default.selectable.selected, .react-flow__node-default.selectable:focus, .react-flow__node-output.selectable.selected, .react-flow__node-output.selectable:focus, .react-flow__node-group.selectable.selected, .react-flow__node-group.selectable:focus {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}

.react-flow__node-input.selectable:focus-visible {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}

.react-flow__node-default.selectable:focus-visible {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}

.react-flow__node-output.selectable:focus-visible {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}

.react-flow__node-group.selectable:focus-visible {
  box-shadow: var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default));
}

.react-flow__node-group {
  background-color: var(--xy-node-group-background-color, var(--xy-node-group-background-color-default));
}

.react-flow__nodesselection-rect, .react-flow__selection {
  background: var(--xy-selection-background-color, var(--xy-selection-background-color-default));
  border: var(--xy-selection-border, var(--xy-selection-border-default));
}

.react-flow__nodesselection-rect:focus, .react-flow__selection:focus {
  outline: none;
}

.react-flow__nodesselection-rect:focus-visible {
  outline: none;
}

.react-flow__selection:focus-visible {
  outline: none;
}

.react-flow__controls-button:hover {
  background: var(--xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)));
  color: var(--xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)));
}

.react-flow__controls-button:disabled {
  pointer-events: none;
}

.react-flow__controls-button:disabled svg {
  fill-opacity: .4;
}

.react-flow__controls-button:last-child {
  border-bottom: none;
}

.react-flow__controls.horizontal .react-flow__controls-button {
  border-bottom: none;
  border-right: 1px solid var(--xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)));
}

.react-flow__controls.horizontal .react-flow__controls-button:last-child {
  border-right: none;
}

.react-flow__resize-control {
  position: absolute;
}

.react-flow__resize-control.left, .react-flow__resize-control.right {
  cursor: ew-resize;
}

.react-flow__resize-control.top, .react-flow__resize-control.bottom {
  cursor: ns-resize;
}

.react-flow__resize-control.top.left, .react-flow__resize-control.bottom.right {
  cursor: nwse-resize;
}

.react-flow__resize-control.bottom.left, .react-flow__resize-control.top.right {
  cursor: nesw-resize;
}

.react-flow__resize-control.handle {
  background-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border: 1px solid #fff;
  border-radius: 1px;
  width: 4px;
  height: 4px;
  transform: translate(-50%, -50%);
}

.react-flow__resize-control.handle.left {
  top: 50%;
  left: 0;
}

.react-flow__resize-control.handle.right {
  top: 50%;
  left: 100%;
}

.react-flow__resize-control.handle.top {
  top: 0;
  left: 50%;
}

.react-flow__resize-control.handle.bottom {
  top: 100%;
  left: 50%;
}

.react-flow__resize-control.handle.top.left, .react-flow__resize-control.handle.bottom.left {
  left: 0;
}

.react-flow__resize-control.handle.top.right, .react-flow__resize-control.handle.bottom.right {
  left: 100%;
}

.react-flow__resize-control.line {
  border-color: var(--xy-resize-background-color, var(--xy-resize-background-color-default));
  border-style: solid;
  border-width: 0;
}

.react-flow__resize-control.line.left, .react-flow__resize-control.line.right {
  width: 1px;
  height: 100%;
  top: 0;
  transform: translate(-50%);
}

.react-flow__resize-control.line.left {
  border-left-width: 1px;
  left: 0;
}

.react-flow__resize-control.line.right {
  border-right-width: 1px;
  left: 100%;
}

.react-flow__resize-control.line.top, .react-flow__resize-control.line.bottom {
  width: 100%;
  height: 1px;
  left: 0;
  transform: translate(0, -50%);
}

.react-flow__resize-control.line.top {
  border-top-width: 1px;
  top: 0;
}

.react-flow__resize-control.line.bottom {
  border-bottom-width: 1px;
  top: 100%;
}

.react-flow__edge-textbg {
  fill: var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default));
}

.react-flow__edge-text {
  fill: var(--xy-edge-label-color, var(--xy-edge-label-color-default));
}

/* [project]/app/ui/node_modules/allotment/dist/style.css [client] (css) */
:root {
  --separator-border: rgba(128, 128, 128, .35);
  --sash-hover-transition-duration: .1s;
}

.allotment-module_splitView__L-yRc {
  width: 100%;
  height: 100%;
  position: relative;
  overflow: hidden;
}

.allotment-module_splitView__L-yRc > .allotment-module_sashContainer__fzwJF {
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
}

.allotment-module_splitView__L-yRc > .allotment-module_sashContainer__fzwJF > .allotment-module_sash__QA-2t {
  pointer-events: auto;
}

.allotment-module_splitView__L-yRc > .allotment-module_splitViewContainer__rQnVa {
  white-space: nowrap;
  width: 100%;
  height: 100%;
  position: relative;
}

.allotment-module_splitView__L-yRc > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O {
  white-space: initial;
  position: absolute;
  overflow: hidden;
}

.allotment-module_splitView__L-yRc.allotment-module_vertical__WSwwa > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O {
  width: 100%;
}

.allotment-module_splitView__L-yRc.allotment-module_horizontal__7doS8 > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O {
  height: 100%;
}

.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O:not(:first-child):before {
  background-color: var(--separator-border);
  content: " ";
  pointer-events: none;
  z-index: 5;
  position: absolute;
  top: 0;
  left: 0;
}

.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS.allotment-module_vertical__WSwwa > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O:not(:first-child):before {
  width: 100%;
  height: 1px;
}

.allotment-module_splitView__L-yRc.allotment-module_separatorBorder__x-rDS.allotment-module_horizontal__7doS8 > .allotment-module_splitViewContainer__rQnVa > .allotment-module_splitViewView__MGZ6O:not(:first-child):before {
  width: 1px;
  height: 100%;
}

:root {
  --focus-border: #007fd4;
  --sash-size: 8px;
  --sash-hover-size: 4px;
}

.sash-module_sash__K-9lB {
  z-index: 35;
  touch-action: none;
  pointer-events: auto;
  text-align: initial;
  position: absolute;
}

.sash-module_sash__K-9lB.sash-module_disabled__Hm-wx {
  pointer-events: none;
}

.sash-module_sash__K-9lB.sash-module_mac__Jf6OJ.sash-module_vertical__pB-rs {
  cursor: col-resize;
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs.sash-module_minimum__-UKxp {
  cursor: e-resize;
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs.sash-module_maximum__TCWxD {
  cursor: w-resize;
}

.sash-module_sash__K-9lB.sash-module_mac__Jf6OJ.sash-module_horizontal__kFbiw {
  cursor: row-resize;
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_minimum__-UKxp {
  cursor: s-resize;
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_maximum__TCWxD {
  cursor: n-resize;
}

.sash-module_sash__K-9lB.sash-module_disabled__Hm-wx {
  cursor: default !important;
  pointer-events: none !important;
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs {
  cursor: ew-resize;
  width: var(--sash-size);
  height: 100%;
  top: 0;
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw {
  cursor: ns-resize;
  width: 100%;
  height: var(--sash-size);
  left: 0;
}

.sash-module_sash__K-9lB:not(.sash-module_disabled__Hm-wx) > .sash-module_orthogonal-drag-handle__Yii2- {
  content: " ";
  height: calc(var(--sash-size) * 2);
  width: calc(var(--sash-size) * 2);
  z-index: 100;
  cursor: all-scroll;
  display: block;
  position: absolute;
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-north__f7Noe:not(.sash-module_disabled__Hm-wx) > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk, .sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-south__6ZrFC:not(.sash-module_disabled__Hm-wx) > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R {
  cursor: nwse-resize;
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-north__f7Noe:not(.sash-module_disabled__Hm-wx) > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R, .sash-module_sash__K-9lB.sash-module_horizontal__kFbiw.sash-module_orthogonal-edge-south__6ZrFC:not(.sash-module_disabled__Hm-wx) > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk {
  cursor: nesw-resize;
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk {
  left: calc(var(--sash-size) * -.5);
  top: calc(var(--sash-size) * -1);
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R {
  left: calc(var(--sash-size) * -.5);
  bottom: calc(var(--sash-size) * -1);
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_start__uZEDk {
  top: calc(var(--sash-size) * -.5);
  left: calc(var(--sash-size) * -1);
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw > .sash-module_orthogonal-drag-handle__Yii2-.sash-module_end__0TP-R {
  top: calc(var(--sash-size) * -.5);
  right: calc(var(--sash-size) * -1);
}

.sash-module_sash__K-9lB:before {
  content: "";
  pointer-events: none;
  width: 100%;
  height: 100%;
  transition: background-color var(--sash-hover-transition-duration) ease-out;
  background: none;
  position: absolute;
}

.sash-module_sash__K-9lB.sash-module_vertical__pB-rs:before {
  width: var(--sash-hover-size);
  left: calc(50% - (var(--sash-hover-size) / 2));
}

.sash-module_sash__K-9lB.sash-module_horizontal__kFbiw:before {
  height: var(--sash-hover-size);
  top: calc(50% - (var(--sash-hover-size) / 2));
}

.sash-module_sash__K-9lB.sash-module_hover__80W6I:before, .sash-module_sash__K-9lB.sash-module_active__bJspD:before {
  background: var(--focus-border);
}

/* [project]/app/ui/node_modules/katex/dist/katex.min.css [client] (css) */
@font-face {
  font-family: KaTeX_AMS;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_AMS-Regular.c30af439.woff2") format("woff2"), url("../media/KaTeX_AMS-Regular.e6a3cada.woff") format("woff"), url("../media/KaTeX_AMS-Regular.892f691b.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Caligraphic-Bold.db991531.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Bold.2f97783e.woff") format("woff"), url("../media/KaTeX_Caligraphic-Bold.a36b8125.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Caligraphic;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Caligraphic-Regular.c20eee08.woff2") format("woff2"), url("../media/KaTeX_Caligraphic-Regular.2b13f013.woff") format("woff"), url("../media/KaTeX_Caligraphic-Regular.7c50032c.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Fraktur-Bold.d514bd28.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Bold.5fa2f5e4.woff") format("woff"), url("../media/KaTeX_Fraktur-Bold.e311399d.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Fraktur;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Fraktur-Regular.5d62e468.woff2") format("woff2"), url("../media/KaTeX_Fraktur-Regular.18139813.woff") format("woff"), url("../media/KaTeX_Fraktur-Regular.2a73476d.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_Main-Bold.f4e2828d.woff2") format("woff2"), url("../media/KaTeX_Main-Bold.c24b5ba7.woff") format("woff"), url("../media/KaTeX_Main-Bold.6d137c77.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Main-BoldItalic.f1884480.woff2") format("woff2"), url("../media/KaTeX_Main-BoldItalic.079b33ae.woff") format("woff"), url("../media/KaTeX_Main-BoldItalic.c003d3ec.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Main;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Italic.a3746929.woff2") format("woff2"), url("../media/KaTeX_Main-Italic.26a3619b.woff") format("woff"), url("../media/KaTeX_Main-Italic.61da3e93.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Main;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Main-Regular.12644167.woff2") format("woff2"), url("../media/KaTeX_Main-Regular.d511f158.woff") format("woff"), url("../media/KaTeX_Main-Regular.876b86ad.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
  src: url("../media/KaTeX_Math-BoldItalic.5c6a6a93.woff2") format("woff2"), url("../media/KaTeX_Math-BoldItalic.ad4dffd5.woff") format("woff"), url("../media/KaTeX_Math-BoldItalic.e73b3bf0.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_Math-Italic.d8564edb.woff2") format("woff2"), url("../media/KaTeX_Math-Italic.1cd2c488.woff") format("woff"), url("../media/KaTeX_Math-Italic.03974bc4.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 700;
  src: url("../media/KaTeX_SansSerif-Bold.a03f9428.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Bold.ff51ef5c.woff") format("woff"), url("../media/KaTeX_SansSerif-Bold.d4608ed5.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_SansSerif;
  font-style: italic;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Italic.9245afda.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Italic.8ed740d6.woff") format("woff"), url("../media/KaTeX_SansSerif-Italic.c0b22b1e.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_SansSerif;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_SansSerif-Regular.128c9bc2.woff2") format("woff2"), url("../media/KaTeX_SansSerif-Regular.ee7b0a16.woff") format("woff"), url("../media/KaTeX_SansSerif-Regular.156dbd4e.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Script;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Script-Regular.186c7155.woff2") format("woff2"), url("../media/KaTeX_Script-Regular.afc2fd5a.woff") format("woff"), url("../media/KaTeX_Script-Regular.00d9a561.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Size1;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size1-Regular.4450ef36.woff2") format("woff2"), url("../media/KaTeX_Size1-Regular.e5bf4c74.woff") format("woff"), url("../media/KaTeX_Size1-Regular.9aaff96b.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Size2;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size2-Regular.6a97527b.woff2") format("woff2"), url("../media/KaTeX_Size2-Regular.8fbd32af.woff") format("woff"), url("../media/KaTeX_Size2-Regular.f11810ed.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Size3;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size3-Regular.54b7ce9d.woff2") format("woff2"), url("../media/KaTeX_Size3-Regular.45ae8eba.woff") format("woff"), url("../media/KaTeX_Size3-Regular.9812ade2.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Size4;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Size4-Regular.927fc5b9.woff2") format("woff2"), url("../media/KaTeX_Size4-Regular.b211e3d3.woff") format("woff"), url("../media/KaTeX_Size4-Regular.44a4d487.ttf") format("truetype");
}

@font-face {
  font-family: KaTeX_Typewriter;
  font-style: normal;
  font-weight: 400;
  src: url("../media/KaTeX_Typewriter-Regular.ff99d643.woff2") format("woff2"), url("../media/KaTeX_Typewriter-Regular.68b6c3a9.woff") format("woff"), url("../media/KaTeX_Typewriter-Regular.a1a7ff52.ttf") format("truetype");
}

.katex {
  text-indent: 0;
  text-rendering: auto;
  font: 1.21em / 1.2 KaTeX_Main, Times New Roman, serif;
}

.katex * {
  border-color: currentColor;
  -ms-high-contrast-adjust: none !important;
}

.katex .katex-version:after {
  content: "0.16.22";
}

.katex .katex-mathml {
  clip: rect(1px, 1px, 1px, 1px);
  border: 0;
  width: 1px;
  height: 1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.katex .katex-html > .newline {
  display: block;
}

.katex .base {
  white-space: nowrap;
  width: min-content;
  position: relative;
}

.katex .base, .katex .strut {
  display: inline-block;
}

.katex .textbf {
  font-weight: 700;
}

.katex .textit {
  font-style: italic;
}

.katex .textrm {
  font-family: KaTeX_Main;
}

.katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .texttt {
  font-family: KaTeX_Typewriter;
}

.katex .mathnormal {
  font-family: KaTeX_Math;
  font-style: italic;
}

.katex .mathit {
  font-family: KaTeX_Main;
  font-style: italic;
}

.katex .mathrm {
  font-style: normal;
}

.katex .mathbf {
  font-family: KaTeX_Main;
  font-weight: 700;
}

.katex .boldsymbol {
  font-family: KaTeX_Math;
  font-style: italic;
  font-weight: 700;
}

.katex .amsrm, .katex .mathbb, .katex .textbb {
  font-family: KaTeX_AMS;
}

.katex .mathcal {
  font-family: KaTeX_Caligraphic;
}

.katex .mathfrak, .katex .textfrak {
  font-family: KaTeX_Fraktur;
}

.katex .mathboldfrak, .katex .textboldfrak {
  font-family: KaTeX_Fraktur;
  font-weight: 700;
}

.katex .mathtt {
  font-family: KaTeX_Typewriter;
}

.katex .mathscr, .katex .textscr {
  font-family: KaTeX_Script;
}

.katex .mathsf, .katex .textsf {
  font-family: KaTeX_SansSerif;
}

.katex .mathboldsf, .katex .textboldsf {
  font-family: KaTeX_SansSerif;
  font-weight: 700;
}

.katex .mathitsf, .katex .mathsfit, .katex .textitsf {
  font-family: KaTeX_SansSerif;
  font-style: italic;
}

.katex .mainrm {
  font-family: KaTeX_Main;
  font-style: normal;
}

.katex .vlist-t {
  border-collapse: collapse;
  table-layout: fixed;
  display: inline-table;
}

.katex .vlist-r {
  display: table-row;
}

.katex .vlist {
  vertical-align: bottom;
  display: table-cell;
  position: relative;
}

.katex .vlist > span {
  height: 0;
  display: block;
  position: relative;
}

.katex .vlist > span > span {
  display: inline-block;
}

.katex .vlist > span > .pstrut {
  width: 0;
  overflow: hidden;
}

.katex .vlist-t2 {
  margin-right: -2px;
}

.katex .vlist-s {
  vertical-align: bottom;
  width: 2px;
  min-width: 2px;
  font-size: 1px;
  display: table-cell;
}

.katex .vbox {
  flex-direction: column;
  align-items: baseline;
  display: inline-flex;
}

.katex .hbox {
  width: 100%;
}

.katex .hbox, .katex .thinbox {
  flex-direction: row;
  display: inline-flex;
}

.katex .thinbox {
  width: 0;
  max-width: 0;
}

.katex .msupsub {
  text-align: left;
}

.katex .mfrac > span > span {
  text-align: center;
}

.katex .mfrac .frac-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline, .katex .hline, .katex .mfrac .frac-line, .katex .overline .overline-line, .katex .rule, .katex .underline .underline-line {
  min-height: 1px;
}

.katex .mspace {
  display: inline-block;
}

.katex .clap, .katex .llap, .katex .rlap {
  width: 0;
  position: relative;
}

.katex .clap > .inner, .katex .llap > .inner, .katex .rlap > .inner {
  position: absolute;
}

.katex .clap > .fix, .katex .llap > .fix, .katex .rlap > .fix {
  display: inline-block;
}

.katex .llap > .inner {
  right: 0;
}

.katex .clap > .inner, .katex .rlap > .inner {
  left: 0;
}

.katex .clap > .inner > span {
  margin-left: -50%;
  margin-right: 50%;
}

.katex .rule {
  border: 0 solid;
  display: inline-block;
  position: relative;
}

.katex .hline, .katex .overline .overline-line, .katex .underline .underline-line {
  border-bottom-style: solid;
  width: 100%;
  display: inline-block;
}

.katex .hdashline {
  border-bottom-style: dashed;
  width: 100%;
  display: inline-block;
}

.katex .sqrt > .root {
  margin-left: .277778em;
  margin-right: -.555556em;
}

.katex .fontsize-ensurer.reset-size1.size1, .katex .sizing.reset-size1.size1 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size1.size2, .katex .sizing.reset-size1.size2 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size1.size3, .katex .sizing.reset-size1.size3 {
  font-size: 1.4em;
}

.katex .fontsize-ensurer.reset-size1.size4, .katex .sizing.reset-size1.size4 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size1.size5, .katex .sizing.reset-size1.size5 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size1.size6, .katex .sizing.reset-size1.size6 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size1.size7, .katex .sizing.reset-size1.size7 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size1.size8, .katex .sizing.reset-size1.size8 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size1.size9, .katex .sizing.reset-size1.size9 {
  font-size: 3.456em;
}

.katex .fontsize-ensurer.reset-size1.size10, .katex .sizing.reset-size1.size10 {
  font-size: 4.148em;
}

.katex .fontsize-ensurer.reset-size1.size11, .katex .sizing.reset-size1.size11 {
  font-size: 4.976em;
}

.katex .fontsize-ensurer.reset-size2.size1, .katex .sizing.reset-size2.size1 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size2.size2, .katex .sizing.reset-size2.size2 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size2.size3, .katex .sizing.reset-size2.size3 {
  font-size: 1.16667em;
}

.katex .fontsize-ensurer.reset-size2.size4, .katex .sizing.reset-size2.size4 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size2.size5, .katex .sizing.reset-size2.size5 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size2.size6, .katex .sizing.reset-size2.size6 {
  font-size: 1.66667em;
}

.katex .fontsize-ensurer.reset-size2.size7, .katex .sizing.reset-size2.size7 {
  font-size: 2em;
}

.katex .fontsize-ensurer.reset-size2.size8, .katex .sizing.reset-size2.size8 {
  font-size: 2.4em;
}

.katex .fontsize-ensurer.reset-size2.size9, .katex .sizing.reset-size2.size9 {
  font-size: 2.88em;
}

.katex .fontsize-ensurer.reset-size2.size10, .katex .sizing.reset-size2.size10 {
  font-size: 3.45667em;
}

.katex .fontsize-ensurer.reset-size2.size11, .katex .sizing.reset-size2.size11 {
  font-size: 4.14667em;
}

.katex .fontsize-ensurer.reset-size3.size1, .katex .sizing.reset-size3.size1 {
  font-size: .714286em;
}

.katex .fontsize-ensurer.reset-size3.size2, .katex .sizing.reset-size3.size2 {
  font-size: .857143em;
}

.katex .fontsize-ensurer.reset-size3.size3, .katex .sizing.reset-size3.size3 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size3.size4, .katex .sizing.reset-size3.size4 {
  font-size: 1.14286em;
}

.katex .fontsize-ensurer.reset-size3.size5, .katex .sizing.reset-size3.size5 {
  font-size: 1.28571em;
}

.katex .fontsize-ensurer.reset-size3.size6, .katex .sizing.reset-size3.size6 {
  font-size: 1.42857em;
}

.katex .fontsize-ensurer.reset-size3.size7, .katex .sizing.reset-size3.size7 {
  font-size: 1.71429em;
}

.katex .fontsize-ensurer.reset-size3.size8, .katex .sizing.reset-size3.size8 {
  font-size: 2.05714em;
}

.katex .fontsize-ensurer.reset-size3.size9, .katex .sizing.reset-size3.size9 {
  font-size: 2.46857em;
}

.katex .fontsize-ensurer.reset-size3.size10, .katex .sizing.reset-size3.size10 {
  font-size: 2.96286em;
}

.katex .fontsize-ensurer.reset-size3.size11, .katex .sizing.reset-size3.size11 {
  font-size: 3.55429em;
}

.katex .fontsize-ensurer.reset-size4.size1, .katex .sizing.reset-size4.size1 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size4.size2, .katex .sizing.reset-size4.size2 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size4.size3, .katex .sizing.reset-size4.size3 {
  font-size: .875em;
}

.katex .fontsize-ensurer.reset-size4.size4, .katex .sizing.reset-size4.size4 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size4.size5, .katex .sizing.reset-size4.size5 {
  font-size: 1.125em;
}

.katex .fontsize-ensurer.reset-size4.size6, .katex .sizing.reset-size4.size6 {
  font-size: 1.25em;
}

.katex .fontsize-ensurer.reset-size4.size7, .katex .sizing.reset-size4.size7 {
  font-size: 1.5em;
}

.katex .fontsize-ensurer.reset-size4.size8, .katex .sizing.reset-size4.size8 {
  font-size: 1.8em;
}

.katex .fontsize-ensurer.reset-size4.size9, .katex .sizing.reset-size4.size9 {
  font-size: 2.16em;
}

.katex .fontsize-ensurer.reset-size4.size10, .katex .sizing.reset-size4.size10 {
  font-size: 2.5925em;
}

.katex .fontsize-ensurer.reset-size4.size11, .katex .sizing.reset-size4.size11 {
  font-size: 3.11em;
}

.katex .fontsize-ensurer.reset-size5.size1, .katex .sizing.reset-size5.size1 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size5.size2, .katex .sizing.reset-size5.size2 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size5.size3, .katex .sizing.reset-size5.size3 {
  font-size: .777778em;
}

.katex .fontsize-ensurer.reset-size5.size4, .katex .sizing.reset-size5.size4 {
  font-size: .888889em;
}

.katex .fontsize-ensurer.reset-size5.size5, .katex .sizing.reset-size5.size5 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size5.size6, .katex .sizing.reset-size5.size6 {
  font-size: 1.11111em;
}

.katex .fontsize-ensurer.reset-size5.size7, .katex .sizing.reset-size5.size7 {
  font-size: 1.33333em;
}

.katex .fontsize-ensurer.reset-size5.size8, .katex .sizing.reset-size5.size8 {
  font-size: 1.6em;
}

.katex .fontsize-ensurer.reset-size5.size9, .katex .sizing.reset-size5.size9 {
  font-size: 1.92em;
}

.katex .fontsize-ensurer.reset-size5.size10, .katex .sizing.reset-size5.size10 {
  font-size: 2.30444em;
}

.katex .fontsize-ensurer.reset-size5.size11, .katex .sizing.reset-size5.size11 {
  font-size: 2.76444em;
}

.katex .fontsize-ensurer.reset-size6.size1, .katex .sizing.reset-size6.size1 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size6.size2, .katex .sizing.reset-size6.size2 {
  font-size: .6em;
}

.katex .fontsize-ensurer.reset-size6.size3, .katex .sizing.reset-size6.size3 {
  font-size: .7em;
}

.katex .fontsize-ensurer.reset-size6.size4, .katex .sizing.reset-size6.size4 {
  font-size: .8em;
}

.katex .fontsize-ensurer.reset-size6.size5, .katex .sizing.reset-size6.size5 {
  font-size: .9em;
}

.katex .fontsize-ensurer.reset-size6.size6, .katex .sizing.reset-size6.size6 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size6.size7, .katex .sizing.reset-size6.size7 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size6.size8, .katex .sizing.reset-size6.size8 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size6.size9, .katex .sizing.reset-size6.size9 {
  font-size: 1.728em;
}

.katex .fontsize-ensurer.reset-size6.size10, .katex .sizing.reset-size6.size10 {
  font-size: 2.074em;
}

.katex .fontsize-ensurer.reset-size6.size11, .katex .sizing.reset-size6.size11 {
  font-size: 2.488em;
}

.katex .fontsize-ensurer.reset-size7.size1, .katex .sizing.reset-size7.size1 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size7.size2, .katex .sizing.reset-size7.size2 {
  font-size: .5em;
}

.katex .fontsize-ensurer.reset-size7.size3, .katex .sizing.reset-size7.size3 {
  font-size: .583333em;
}

.katex .fontsize-ensurer.reset-size7.size4, .katex .sizing.reset-size7.size4 {
  font-size: .666667em;
}

.katex .fontsize-ensurer.reset-size7.size5, .katex .sizing.reset-size7.size5 {
  font-size: .75em;
}

.katex .fontsize-ensurer.reset-size7.size6, .katex .sizing.reset-size7.size6 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size7.size7, .katex .sizing.reset-size7.size7 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size7.size8, .katex .sizing.reset-size7.size8 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size7.size9, .katex .sizing.reset-size7.size9 {
  font-size: 1.44em;
}

.katex .fontsize-ensurer.reset-size7.size10, .katex .sizing.reset-size7.size10 {
  font-size: 1.72833em;
}

.katex .fontsize-ensurer.reset-size7.size11, .katex .sizing.reset-size7.size11 {
  font-size: 2.07333em;
}

.katex .fontsize-ensurer.reset-size8.size1, .katex .sizing.reset-size8.size1 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size8.size2, .katex .sizing.reset-size8.size2 {
  font-size: .416667em;
}

.katex .fontsize-ensurer.reset-size8.size3, .katex .sizing.reset-size8.size3 {
  font-size: .486111em;
}

.katex .fontsize-ensurer.reset-size8.size4, .katex .sizing.reset-size8.size4 {
  font-size: .555556em;
}

.katex .fontsize-ensurer.reset-size8.size5, .katex .sizing.reset-size8.size5 {
  font-size: .625em;
}

.katex .fontsize-ensurer.reset-size8.size6, .katex .sizing.reset-size8.size6 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size8.size7, .katex .sizing.reset-size8.size7 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size8.size8, .katex .sizing.reset-size8.size8 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size8.size9, .katex .sizing.reset-size8.size9 {
  font-size: 1.2em;
}

.katex .fontsize-ensurer.reset-size8.size10, .katex .sizing.reset-size8.size10 {
  font-size: 1.44028em;
}

.katex .fontsize-ensurer.reset-size8.size11, .katex .sizing.reset-size8.size11 {
  font-size: 1.72778em;
}

.katex .fontsize-ensurer.reset-size9.size1, .katex .sizing.reset-size9.size1 {
  font-size: .289352em;
}

.katex .fontsize-ensurer.reset-size9.size2, .katex .sizing.reset-size9.size2 {
  font-size: .347222em;
}

.katex .fontsize-ensurer.reset-size9.size3, .katex .sizing.reset-size9.size3 {
  font-size: .405093em;
}

.katex .fontsize-ensurer.reset-size9.size4, .katex .sizing.reset-size9.size4 {
  font-size: .462963em;
}

.katex .fontsize-ensurer.reset-size9.size5, .katex .sizing.reset-size9.size5 {
  font-size: .520833em;
}

.katex .fontsize-ensurer.reset-size9.size6, .katex .sizing.reset-size9.size6 {
  font-size: .578704em;
}

.katex .fontsize-ensurer.reset-size9.size7, .katex .sizing.reset-size9.size7 {
  font-size: .694444em;
}

.katex .fontsize-ensurer.reset-size9.size8, .katex .sizing.reset-size9.size8 {
  font-size: .833333em;
}

.katex .fontsize-ensurer.reset-size9.size9, .katex .sizing.reset-size9.size9 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size9.size10, .katex .sizing.reset-size9.size10 {
  font-size: 1.20023em;
}

.katex .fontsize-ensurer.reset-size9.size11, .katex .sizing.reset-size9.size11 {
  font-size: 1.43981em;
}

.katex .fontsize-ensurer.reset-size10.size1, .katex .sizing.reset-size10.size1 {
  font-size: .24108em;
}

.katex .fontsize-ensurer.reset-size10.size2, .katex .sizing.reset-size10.size2 {
  font-size: .289296em;
}

.katex .fontsize-ensurer.reset-size10.size3, .katex .sizing.reset-size10.size3 {
  font-size: .337512em;
}

.katex .fontsize-ensurer.reset-size10.size4, .katex .sizing.reset-size10.size4 {
  font-size: .385728em;
}

.katex .fontsize-ensurer.reset-size10.size5, .katex .sizing.reset-size10.size5 {
  font-size: .433944em;
}

.katex .fontsize-ensurer.reset-size10.size6, .katex .sizing.reset-size10.size6 {
  font-size: .48216em;
}

.katex .fontsize-ensurer.reset-size10.size7, .katex .sizing.reset-size10.size7 {
  font-size: .578592em;
}

.katex .fontsize-ensurer.reset-size10.size8, .katex .sizing.reset-size10.size8 {
  font-size: .694311em;
}

.katex .fontsize-ensurer.reset-size10.size9, .katex .sizing.reset-size10.size9 {
  font-size: .833173em;
}

.katex .fontsize-ensurer.reset-size10.size10, .katex .sizing.reset-size10.size10 {
  font-size: 1em;
}

.katex .fontsize-ensurer.reset-size10.size11, .katex .sizing.reset-size10.size11 {
  font-size: 1.19961em;
}

.katex .fontsize-ensurer.reset-size11.size1, .katex .sizing.reset-size11.size1 {
  font-size: .200965em;
}

.katex .fontsize-ensurer.reset-size11.size2, .katex .sizing.reset-size11.size2 {
  font-size: .241158em;
}

.katex .fontsize-ensurer.reset-size11.size3, .katex .sizing.reset-size11.size3 {
  font-size: .281351em;
}

.katex .fontsize-ensurer.reset-size11.size4, .katex .sizing.reset-size11.size4 {
  font-size: .321543em;
}

.katex .fontsize-ensurer.reset-size11.size5, .katex .sizing.reset-size11.size5 {
  font-size: .361736em;
}

.katex .fontsize-ensurer.reset-size11.size6, .katex .sizing.reset-size11.size6 {
  font-size: .401929em;
}

.katex .fontsize-ensurer.reset-size11.size7, .katex .sizing.reset-size11.size7 {
  font-size: .482315em;
}

.katex .fontsize-ensurer.reset-size11.size8, .katex .sizing.reset-size11.size8 {
  font-size: .578778em;
}

.katex .fontsize-ensurer.reset-size11.size9, .katex .sizing.reset-size11.size9 {
  font-size: .694534em;
}

.katex .fontsize-ensurer.reset-size11.size10, .katex .sizing.reset-size11.size10 {
  font-size: .833601em;
}

.katex .fontsize-ensurer.reset-size11.size11, .katex .sizing.reset-size11.size11 {
  font-size: 1em;
}

.katex .delimsizing.size1 {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.size2 {
  font-family: KaTeX_Size2;
}

.katex .delimsizing.size3 {
  font-family: KaTeX_Size3;
}

.katex .delimsizing.size4 {
  font-family: KaTeX_Size4;
}

.katex .delimsizing.mult .delim-size1 > span {
  font-family: KaTeX_Size1;
}

.katex .delimsizing.mult .delim-size4 > span {
  font-family: KaTeX_Size4;
}

.katex .nulldelimiter {
  width: .12em;
  display: inline-block;
}

.katex .delimcenter, .katex .op-symbol {
  position: relative;
}

.katex .op-symbol.small-op {
  font-family: KaTeX_Size1;
}

.katex .op-symbol.large-op {
  font-family: KaTeX_Size2;
}

.katex .accent > .vlist-t, .katex .op-limits > .vlist-t {
  text-align: center;
}

.katex .accent .accent-body {
  position: relative;
}

.katex .accent .accent-body:not(.accent-full) {
  width: 0;
}

.katex .overlay {
  display: block;
}

.katex .mtable .vertical-separator {
  min-width: 1px;
  display: inline-block;
}

.katex .mtable .arraycolsep {
  display: inline-block;
}

.katex .mtable .col-align-c > .vlist-t {
  text-align: center;
}

.katex .mtable .col-align-l > .vlist-t {
  text-align: left;
}

.katex .mtable .col-align-r > .vlist-t {
  text-align: right;
}

.katex .svg-align {
  text-align: left;
}

.katex svg {
  fill: currentColor;
  stroke: currentColor;
  fill-rule: nonzero;
  fill-opacity: 1;
  stroke-width: 1px;
  stroke-linecap: butt;
  stroke-linejoin: miter;
  stroke-miterlimit: 4;
  stroke-dasharray: none;
  stroke-dashoffset: 0;
  stroke-opacity: 1;
  height: inherit;
  width: 100%;
  display: block;
  position: absolute;
}

.katex svg path {
  stroke: none;
}

.katex img {
  border-style: none;
  min-width: 0;
  max-width: none;
  min-height: 0;
  max-height: none;
}

.katex .stretchy {
  width: 100%;
  display: block;
  position: relative;
  overflow: hidden;
}

.katex .stretchy:after, .katex .stretchy:before {
  content: "";
}

.katex .hide-tail {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.katex .halfarrow-left {
  width: 50.2%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .halfarrow-right {
  width: 50.2%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .brace-left {
  width: 25.1%;
  position: absolute;
  left: 0;
  overflow: hidden;
}

.katex .brace-center {
  width: 50%;
  position: absolute;
  left: 25%;
  overflow: hidden;
}

.katex .brace-right {
  width: 25.1%;
  position: absolute;
  right: 0;
  overflow: hidden;
}

.katex .x-arrow-pad {
  padding: 0 .5em;
}

.katex .cd-arrow-pad {
  padding: 0 .55556em 0 .27778em;
}

.katex .mover, .katex .munder, .katex .x-arrow {
  text-align: center;
}

.katex .boxpad {
  padding: 0 .3em;
}

.katex .fbox, .katex .fcolorbox {
  box-sizing: border-box;
  border: .04em solid;
}

.katex .cancel-pad {
  padding: 0 .2em;
}

.katex .cancel-lap {
  margin-left: -.2em;
  margin-right: -.2em;
}

.katex .sout {
  border-bottom-style: solid;
  border-bottom-width: .08em;
}

.katex .angl {
  box-sizing: border-box;
  border-top: .049em solid;
  border-right: .049em solid;
  margin-right: .03889em;
}

.katex .anglpad {
  padding: 0 .03889em;
}

.katex .eqn-num:before {
  content: "(" counter(katexEqnNo) ")";
  counter-increment: katexEqnNo;
}

.katex .mml-eqn-num:before {
  content: "(" counter(mmlEqnNo) ")";
  counter-increment: mmlEqnNo;
}

.katex .mtr-glue {
  width: 50%;
}

.katex .cd-vert-arrow {
  display: inline-block;
  position: relative;
}

.katex .cd-label-left {
  text-align: left;
  display: inline-block;
  position: absolute;
  right: calc(50% + .3em);
}

.katex .cd-label-right {
  text-align: right;
  display: inline-block;
  position: absolute;
  left: calc(50% + .3em);
}

.katex-display {
  text-align: center;
  margin: 1em 0;
  display: block;
}

.katex-display > .katex {
  text-align: center;
  white-space: nowrap;
  display: block;
}

.katex-display > .katex > .katex-html {
  display: block;
  position: relative;
}

.katex-display > .katex > .katex-html > .tag {
  position: absolute;
  right: 0;
}

.katex-display.leqno > .katex > .katex-html > .tag {
  left: 0;
  right: auto;
}

.katex-display.fleqn > .katex {
  text-align: left;
  padding-left: 2em;
}

body {
  counter-reset: katexEqnNo mmlEqnNo;
}

/* [project]/app/ui/node_modules/nprogress/nprogress.css [client] (css) */
#nprogress {
  pointer-events: none;
}

#nprogress .bar {
  z-index: 1031;
  background: #29d;
  width: 100%;
  height: 2px;
  position: fixed;
  top: 0;
  left: 0;
}

#nprogress .peg {
  opacity: 1;
  width: 100px;
  height: 100%;
  display: block;
  position: absolute;
  right: 0;
  transform: rotate(3deg)translate(0, -4px);
  box-shadow: 0 0 10px #29d, 0 0 5px #29d;
}

#nprogress .spinner {
  z-index: 1031;
  display: block;
  position: fixed;
  top: 15px;
  right: 15px;
}

#nprogress .spinner-icon {
  box-sizing: border-box;
  border: 2px solid rgba(0, 0, 0, 0);
  border-color: #29d rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #29d;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  animation: .4s linear infinite nprogress-spinner;
}

.nprogress-custom-parent {
  position: relative;
  overflow: hidden;
}

.nprogress-custom-parent #nprogress .spinner, .nprogress-custom-parent #nprogress .bar {
  position: absolute;
}

@keyframes nprogress-spinner {
  0% {
    transform: rotate(0);
  }

  100% {
    transform: rotate(360deg);
  }
}

/* [project]/app/ui/node_modules/quill/dist/quill.snow.css [client] (css) */
.ql-container {
  box-sizing: border-box;
  height: 100%;
  margin: 0;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 13px;
  position: relative;
}

.ql-container.ql-disabled .ql-tooltip {
  visibility: hidden;
}

.ql-container:not(.ql-disabled) li[data-list="checked"] > .ql-ui, .ql-container:not(.ql-disabled) li[data-list="unchecked"] > .ql-ui {
  cursor: pointer;
}

.ql-clipboard {
  height: 1px;
  position: absolute;
  top: 50%;
  left: -100000px;
  overflow-y: hidden;
}

.ql-clipboard p {
  margin: 0;
  padding: 0;
}

.ql-editor {
  box-sizing: border-box;
  counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  -moz-tab-size: 4;
  tab-size: 4;
  text-align: left;
  white-space: pre-wrap;
  word-wrap: break-word;
  outline: none;
  height: 100%;
  padding: 12px 15px;
  line-height: 1.42;
  overflow-y: auto;
}

.ql-editor > * {
  cursor: text;
}

.ql-editor p, .ql-editor ol, .ql-editor pre, .ql-editor blockquote, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
  margin: 0;
  padding: 0;
}

@supports (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-set: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor p, .ql-editor h1, .ql-editor h2, .ql-editor h3, .ql-editor h4, .ql-editor h5, .ql-editor h6 {
    counter-reset: list-0 list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor table {
  border-collapse: collapse;
}

.ql-editor td {
  border: 1px solid #000;
  padding: 2px 5px;
}

.ql-editor ol {
  padding-left: 1.5em;
}

.ql-editor li {
  padding-left: 1.5em;
  list-style-type: none;
  position: relative;
}

.ql-editor li > .ql-ui:before {
  text-align: right;
  white-space: nowrap;
  width: 1.2em;
  margin-left: -1.5em;
  margin-right: .3em;
  display: inline-block;
}

.ql-editor li[data-list="checked"] > .ql-ui, .ql-editor li[data-list="unchecked"] > .ql-ui {
  color: #777;
}

.ql-editor li[data-list="bullet"] > .ql-ui:before {
  content: "•";
}

.ql-editor li[data-list="checked"] > .ql-ui:before {
  content: "☑";
}

.ql-editor li[data-list="unchecked"] > .ql-ui:before {
  content: "☐";
}

@supports (counter-set: none) {
  .ql-editor li[data-list] {
    counter-set: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list] {
    counter-reset: list-1 list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"] {
  counter-increment: list-0;
}

.ql-editor li[data-list="ordered"] > .ql-ui:before {
  content: counter(list-0, decimal) ". ";
}

.ql-editor li[data-list="ordered"].ql-indent-1 {
  counter-increment: list-1;
}

.ql-editor li[data-list="ordered"].ql-indent-1 > .ql-ui:before {
  content: counter(list-1, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-set: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-1 {
    counter-reset: list-2 list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-2 {
  counter-increment: list-2;
}

.ql-editor li[data-list="ordered"].ql-indent-2 > .ql-ui:before {
  content: counter(list-2, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-set: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-2 {
    counter-reset: list-3 list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-3 {
  counter-increment: list-3;
}

.ql-editor li[data-list="ordered"].ql-indent-3 > .ql-ui:before {
  content: counter(list-3, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-set: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-3 {
    counter-reset: list-4 list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-4 {
  counter-increment: list-4;
}

.ql-editor li[data-list="ordered"].ql-indent-4 > .ql-ui:before {
  content: counter(list-4, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-set: list-5 list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-4 {
    counter-reset: list-5 list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-5 {
  counter-increment: list-5;
}

.ql-editor li[data-list="ordered"].ql-indent-5 > .ql-ui:before {
  content: counter(list-5, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-set: list-6 list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-5 {
    counter-reset: list-6 list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-6 {
  counter-increment: list-6;
}

.ql-editor li[data-list="ordered"].ql-indent-6 > .ql-ui:before {
  content: counter(list-6, decimal) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-set: list-7 list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-6 {
    counter-reset: list-7 list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-7 {
  counter-increment: list-7;
}

.ql-editor li[data-list="ordered"].ql-indent-7 > .ql-ui:before {
  content: counter(list-7, lower-alpha) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-set: list-8 list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-7 {
    counter-reset: list-8 list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-8 {
  counter-increment: list-8;
}

.ql-editor li[data-list="ordered"].ql-indent-8 > .ql-ui:before {
  content: counter(list-8, lower-roman) ". ";
}

@supports (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-set: list-9;
  }
}

@supports not (counter-set: none) {
  .ql-editor li[data-list].ql-indent-8 {
    counter-reset: list-9;
  }
}

.ql-editor li[data-list="ordered"].ql-indent-9 {
  counter-increment: list-9;
}

.ql-editor li[data-list="ordered"].ql-indent-9 > .ql-ui:before {
  content: counter(list-9, decimal) ". ";
}

.ql-editor .ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 3em;
}

.ql-editor li.ql-indent-1:not(.ql-direction-rtl) {
  padding-left: 4.5em;
}

.ql-editor .ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 3em;
}

.ql-editor li.ql-indent-1.ql-direction-rtl.ql-align-right {
  padding-right: 4.5em;
}

.ql-editor .ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 6em;
}

.ql-editor li.ql-indent-2:not(.ql-direction-rtl) {
  padding-left: 7.5em;
}

.ql-editor .ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 6em;
}

.ql-editor li.ql-indent-2.ql-direction-rtl.ql-align-right {
  padding-right: 7.5em;
}

.ql-editor .ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 9em;
}

.ql-editor li.ql-indent-3:not(.ql-direction-rtl) {
  padding-left: 10.5em;
}

.ql-editor .ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 9em;
}

.ql-editor li.ql-indent-3.ql-direction-rtl.ql-align-right {
  padding-right: 10.5em;
}

.ql-editor .ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 12em;
}

.ql-editor li.ql-indent-4:not(.ql-direction-rtl) {
  padding-left: 13.5em;
}

.ql-editor .ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 12em;
}

.ql-editor li.ql-indent-4.ql-direction-rtl.ql-align-right {
  padding-right: 13.5em;
}

.ql-editor .ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 15em;
}

.ql-editor li.ql-indent-5:not(.ql-direction-rtl) {
  padding-left: 16.5em;
}

.ql-editor .ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 15em;
}

.ql-editor li.ql-indent-5.ql-direction-rtl.ql-align-right {
  padding-right: 16.5em;
}

.ql-editor .ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 18em;
}

.ql-editor li.ql-indent-6:not(.ql-direction-rtl) {
  padding-left: 19.5em;
}

.ql-editor .ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 18em;
}

.ql-editor li.ql-indent-6.ql-direction-rtl.ql-align-right {
  padding-right: 19.5em;
}

.ql-editor .ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 21em;
}

.ql-editor li.ql-indent-7:not(.ql-direction-rtl) {
  padding-left: 22.5em;
}

.ql-editor .ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 21em;
}

.ql-editor li.ql-indent-7.ql-direction-rtl.ql-align-right {
  padding-right: 22.5em;
}

.ql-editor .ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 24em;
}

.ql-editor li.ql-indent-8:not(.ql-direction-rtl) {
  padding-left: 25.5em;
}

.ql-editor .ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 24em;
}

.ql-editor li.ql-indent-8.ql-direction-rtl.ql-align-right {
  padding-right: 25.5em;
}

.ql-editor .ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 27em;
}

.ql-editor li.ql-indent-9:not(.ql-direction-rtl) {
  padding-left: 28.5em;
}

.ql-editor .ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 27em;
}

.ql-editor li.ql-indent-9.ql-direction-rtl.ql-align-right {
  padding-right: 28.5em;
}

.ql-editor li.ql-direction-rtl {
  padding-right: 1.5em;
}

.ql-editor li.ql-direction-rtl > .ql-ui:before {
  text-align: left;
  margin-left: .3em;
  margin-right: -1.5em;
}

.ql-editor table {
  table-layout: fixed;
  width: 100%;
}

.ql-editor table td {
  outline: none;
}

.ql-editor .ql-code-block-container {
  font-family: monospace;
}

.ql-editor .ql-video {
  max-width: 100%;
  display: block;
}

.ql-editor .ql-video.ql-align-center {
  margin: 0 auto;
}

.ql-editor .ql-video.ql-align-right {
  margin: 0 0 0 auto;
}

.ql-editor .ql-bg-black {
  background-color: #000;
}

.ql-editor .ql-bg-red {
  background-color: #e60000;
}

.ql-editor .ql-bg-orange {
  background-color: #f90;
}

.ql-editor .ql-bg-yellow {
  background-color: #ff0;
}

.ql-editor .ql-bg-green {
  background-color: #008a00;
}

.ql-editor .ql-bg-blue {
  background-color: #06c;
}

.ql-editor .ql-bg-purple {
  background-color: #93f;
}

.ql-editor .ql-color-white {
  color: #fff;
}

.ql-editor .ql-color-red {
  color: #e60000;
}

.ql-editor .ql-color-orange {
  color: #f90;
}

.ql-editor .ql-color-yellow {
  color: #ff0;
}

.ql-editor .ql-color-green {
  color: #008a00;
}

.ql-editor .ql-color-blue {
  color: #06c;
}

.ql-editor .ql-color-purple {
  color: #93f;
}

.ql-editor .ql-font-serif {
  font-family: Georgia, Times New Roman, serif;
}

.ql-editor .ql-font-monospace {
  font-family: Monaco, Courier New, monospace;
}

.ql-editor .ql-size-small {
  font-size: .75em;
}

.ql-editor .ql-size-large {
  font-size: 1.5em;
}

.ql-editor .ql-size-huge {
  font-size: 2.5em;
}

.ql-editor .ql-direction-rtl {
  text-align: inherit;
  direction: rtl;
}

.ql-editor .ql-align-center {
  text-align: center;
}

.ql-editor .ql-align-justify {
  text-align: justify;
}

.ql-editor .ql-align-right {
  text-align: right;
}

.ql-editor .ql-ui {
  position: absolute;
}

.ql-editor.ql-blank:before {
  color: rgba(0, 0, 0, .6);
  content: attr(data-placeholder);
  pointer-events: none;
  font-style: italic;
  position: absolute;
  left: 15px;
  right: 15px;
}

.ql-snow.ql-toolbar:after, .ql-snow .ql-toolbar:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow.ql-toolbar button, .ql-snow .ql-toolbar button {
  cursor: pointer;
  float: left;
  background: none;
  border: none;
  width: 28px;
  height: 24px;
  padding: 3px 5px;
  display: inline-block;
}

.ql-snow.ql-toolbar button svg, .ql-snow .ql-toolbar button svg {
  float: left;
  height: 100%;
}

.ql-snow.ql-toolbar button:active:hover, .ql-snow .ql-toolbar button:active:hover {
  outline: none;
}

.ql-snow.ql-toolbar input.ql-image[type="file"], .ql-snow .ql-toolbar input.ql-image[type="file"] {
  display: none;
}

.ql-snow.ql-toolbar button:hover, .ql-snow .ql-toolbar button:hover, .ql-snow.ql-toolbar button:focus, .ql-snow .ql-toolbar button:focus, .ql-snow.ql-toolbar button.ql-active, .ql-snow .ql-toolbar button.ql-active, .ql-snow.ql-toolbar .ql-picker-label:hover, .ql-snow .ql-toolbar .ql-picker-label:hover, .ql-snow.ql-toolbar .ql-picker-label.ql-active, .ql-snow .ql-toolbar .ql-picker-label.ql-active, .ql-snow.ql-toolbar .ql-picker-item:hover, .ql-snow .ql-toolbar .ql-picker-item:hover, .ql-snow.ql-toolbar .ql-picker-item.ql-selected, .ql-snow .ql-toolbar .ql-picker-item.ql-selected {
  color: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-fill, .ql-snow .ql-toolbar button:hover .ql-fill, .ql-snow.ql-toolbar button:focus .ql-fill, .ql-snow .ql-toolbar button:focus .ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-fill, .ql-snow.ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:focus .ql-stroke.ql-fill, .ql-snow.ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar button.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke.ql-fill, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke.ql-fill {
  fill: #06c;
}

.ql-snow.ql-toolbar button:hover .ql-stroke, .ql-snow .ql-toolbar button:hover .ql-stroke, .ql-snow.ql-toolbar button:focus .ql-stroke, .ql-snow .ql-toolbar button:focus .ql-stroke, .ql-snow.ql-toolbar button.ql-active .ql-stroke, .ql-snow .ql-toolbar button.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke, .ql-snow.ql-toolbar button:hover .ql-stroke-miter, .ql-snow .ql-toolbar button:hover .ql-stroke-miter, .ql-snow.ql-toolbar button:focus .ql-stroke-miter, .ql-snow .ql-toolbar button:focus .ql-stroke-miter, .ql-snow.ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar button.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-label.ql-active .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item:hover .ql-stroke-miter, .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter, .ql-snow .ql-toolbar .ql-picker-item.ql-selected .ql-stroke-miter {
  stroke: #06c;
}

@media (pointer: coarse) {
  .ql-snow.ql-toolbar button:hover:not(.ql-active), .ql-snow .ql-toolbar button:hover:not(.ql-active) {
    color: #444;
  }

  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-fill, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke.ql-fill {
    fill: #444;
  }

  .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke, .ql-snow.ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter, .ql-snow .ql-toolbar button:hover:not(.ql-active) .ql-stroke-miter {
    stroke: #444;
  }
}

.ql-snow, .ql-snow * {
  box-sizing: border-box;
}

.ql-snow .ql-hidden {
  display: none;
}

.ql-snow .ql-out-bottom, .ql-snow .ql-out-top {
  visibility: hidden;
}

.ql-snow .ql-tooltip {
  position: absolute;
  transform: translateY(10px);
}

.ql-snow .ql-tooltip a {
  cursor: pointer;
  text-decoration: none;
}

.ql-snow .ql-tooltip.ql-flip {
  transform: translateY(-10px);
}

.ql-snow .ql-formats {
  vertical-align: middle;
  display: inline-block;
}

.ql-snow .ql-formats:after {
  clear: both;
  content: "";
  display: table;
}

.ql-snow .ql-stroke {
  fill: none;
  stroke: #444;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2px;
}

.ql-snow .ql-stroke-miter {
  fill: none;
  stroke: #444;
  stroke-miterlimit: 10;
  stroke-width: 2px;
}

.ql-snow .ql-fill, .ql-snow .ql-stroke.ql-fill {
  fill: #444;
}

.ql-snow .ql-empty {
  fill: none;
}

.ql-snow .ql-even {
  fill-rule: evenodd;
}

.ql-snow .ql-thin, .ql-snow .ql-stroke.ql-thin {
  stroke-width: 1px;
}

.ql-snow .ql-transparent {
  opacity: .4;
}

.ql-snow .ql-direction svg:last-child {
  display: none;
}

.ql-snow .ql-direction.ql-active svg:last-child {
  display: inline;
}

.ql-snow .ql-direction.ql-active svg:first-child {
  display: none;
}

.ql-snow .ql-editor h1 {
  font-size: 2em;
}

.ql-snow .ql-editor h2 {
  font-size: 1.5em;
}

.ql-snow .ql-editor h3 {
  font-size: 1.17em;
}

.ql-snow .ql-editor h4 {
  font-size: 1em;
}

.ql-snow .ql-editor h5 {
  font-size: .83em;
}

.ql-snow .ql-editor h6 {
  font-size: .67em;
}

.ql-snow .ql-editor a {
  text-decoration: underline;
}

.ql-snow .ql-editor blockquote {
  border-left: 4px solid #ccc;
  margin-top: 5px;
  margin-bottom: 5px;
  padding-left: 16px;
}

.ql-snow .ql-editor code, .ql-snow .ql-editor .ql-code-block-container {
  background-color: #f0f0f0;
  border-radius: 3px;
}

.ql-snow .ql-editor .ql-code-block-container {
  margin-top: 5px;
  margin-bottom: 5px;
  padding: 5px 10px;
}

.ql-snow .ql-editor code {
  padding: 2px 4px;
  font-size: 85%;
}

.ql-snow .ql-editor .ql-code-block-container {
  color: #f8f8f2;
  background-color: #23241f;
  overflow: visible;
}

.ql-snow .ql-editor img {
  max-width: 100%;
}

.ql-snow .ql-picker {
  color: #444;
  float: left;
  vertical-align: middle;
  height: 24px;
  font-size: 14px;
  font-weight: 500;
  display: inline-block;
  position: relative;
}

.ql-snow .ql-picker-label {
  cursor: pointer;
  width: 100%;
  height: 100%;
  padding-left: 8px;
  padding-right: 2px;
  display: inline-block;
  position: relative;
}

.ql-snow .ql-picker-label:before {
  line-height: 22px;
  display: inline-block;
}

.ql-snow .ql-picker-options {
  white-space: nowrap;
  background-color: #fff;
  min-width: 100%;
  padding: 4px 8px;
  display: none;
  position: absolute;
}

.ql-snow .ql-picker-options .ql-picker-item {
  cursor: pointer;
  padding-top: 5px;
  padding-bottom: 5px;
  display: block;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #ccc;
  z-index: 2;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #ccc;
}

.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  z-index: 1;
  margin-top: -1px;
  display: block;
  top: 100%;
}

.ql-snow .ql-color-picker, .ql-snow .ql-icon-picker {
  width: 28px;
}

.ql-snow .ql-color-picker .ql-picker-label, .ql-snow .ql-icon-picker .ql-picker-label {
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-label svg, .ql-snow .ql-icon-picker .ql-picker-label svg {
  right: 4px;
}

.ql-snow .ql-icon-picker .ql-picker-options {
  padding: 4px 0;
}

.ql-snow .ql-icon-picker .ql-picker-item {
  width: 24px;
  height: 24px;
  padding: 2px 4px;
}

.ql-snow .ql-color-picker .ql-picker-options {
  width: 152px;
  padding: 3px 5px;
}

.ql-snow .ql-color-picker .ql-picker-item {
  float: left;
  border: 1px solid rgba(0, 0, 0, 0);
  width: 16px;
  height: 16px;
  margin: 2px;
  padding: 0;
}

.ql-snow .ql-picker:not(.ql-color-picker):not(.ql-icon-picker) svg {
  width: 18px;
  margin-top: -9px;
  position: absolute;
  top: 50%;
  right: 0;
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-label]:not([data-label=""]):before, .ql-snow .ql-picker.ql-font .ql-picker-label[data-label]:not([data-label=""]):before, .ql-snow .ql-picker.ql-size .ql-picker-label[data-label]:not([data-label=""]):before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-label]:not([data-label=""]):before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-label]:not([data-label=""]):before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-label]:not([data-label=""]):before {
  content: attr(data-label);
}

.ql-snow .ql-picker.ql-header {
  width: 98px;
}

.ql-snow .ql-picker.ql-header .ql-picker-label:before, .ql-snow .ql-picker.ql-header .ql-picker-item:before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="1"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before {
  content: "Heading 1";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="2"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before {
  content: "Heading 2";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="3"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before {
  content: "Heading 3";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="4"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before {
  content: "Heading 4";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="5"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before {
  content: "Heading 5";
}

.ql-snow .ql-picker.ql-header .ql-picker-label[data-value="6"]:before, .ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before {
  content: "Heading 6";
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="1"]:before {
  font-size: 2em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="2"]:before {
  font-size: 1.5em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="3"]:before {
  font-size: 1.17em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="4"]:before {
  font-size: 1em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="5"]:before {
  font-size: .83em;
}

.ql-snow .ql-picker.ql-header .ql-picker-item[data-value="6"]:before {
  font-size: .67em;
}

.ql-snow .ql-picker.ql-font {
  width: 108px;
}

.ql-snow .ql-picker.ql-font .ql-picker-label:before, .ql-snow .ql-picker.ql-font .ql-picker-item:before {
  content: "Sans Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="serif"]:before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]:before {
  content: "Serif";
}

.ql-snow .ql-picker.ql-font .ql-picker-label[data-value="monospace"]:before, .ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]:before {
  content: "Monospace";
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="serif"]:before {
  font-family: Georgia, Times New Roman, serif;
}

.ql-snow .ql-picker.ql-font .ql-picker-item[data-value="monospace"]:before {
  font-family: Monaco, Courier New, monospace;
}

.ql-snow .ql-picker.ql-size {
  width: 98px;
}

.ql-snow .ql-picker.ql-size .ql-picker-label:before, .ql-snow .ql-picker.ql-size .ql-picker-item:before {
  content: "Normal";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="small"]:before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]:before {
  content: "Small";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="large"]:before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]:before {
  content: "Large";
}

.ql-snow .ql-picker.ql-size .ql-picker-label[data-value="huge"]:before, .ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]:before {
  content: "Huge";
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="small"]:before {
  font-size: 10px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="large"]:before {
  font-size: 18px;
}

.ql-snow .ql-picker.ql-size .ql-picker-item[data-value="huge"]:before {
  font-size: 32px;
}

.ql-snow .ql-color-picker.ql-background .ql-picker-item {
  background-color: #fff;
}

.ql-snow .ql-color-picker.ql-color .ql-picker-item {
  background-color: #000;
}

.ql-code-block-container {
  position: relative;
}

.ql-code-block-container .ql-ui {
  top: 5px;
  right: 5px;
}

.ql-toolbar.ql-snow {
  box-sizing: border-box;
  border: 1px solid #ccc;
  padding: 8px;
  font-family: Helvetica Neue, Helvetica, Arial, sans-serif;
}

.ql-toolbar.ql-snow .ql-formats {
  margin-right: 15px;
}

.ql-toolbar.ql-snow .ql-picker-label {
  border: 1px solid rgba(0, 0, 0, 0);
}

.ql-toolbar.ql-snow .ql-picker-options {
  border: 1px solid rgba(0, 0, 0, 0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, .2);
}

.ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label, .ql-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  border-color: #ccc;
}

.ql-toolbar.ql-snow .ql-color-picker .ql-picker-item.ql-selected, .ql-toolbar.ql-snow .ql-color-picker .ql-picker-item:hover {
  border-color: #000;
}

.ql-toolbar.ql-snow + .ql-container.ql-snow {
  border-top: 0;
}

.ql-snow .ql-tooltip {
  color: #444;
  white-space: nowrap;
  background-color: #fff;
  border: 1px solid #ccc;
  padding: 5px 12px;
  box-shadow: 0 0 5px #ddd;
}

.ql-snow .ql-tooltip:before {
  content: "Visit URL:";
  margin-right: 8px;
  line-height: 26px;
}

.ql-snow .ql-tooltip input[type="text"] {
  border: 1px solid #ccc;
  width: 170px;
  height: 26px;
  margin: 0;
  padding: 3px 5px;
  font-size: 13px;
  display: none;
}

.ql-snow .ql-tooltip a.ql-preview {
  text-overflow: ellipsis;
  vertical-align: top;
  max-width: 200px;
  display: inline-block;
  overflow-x: hidden;
}

.ql-snow .ql-tooltip a.ql-action:after {
  content: "Edit";
  border-right: 1px solid #ccc;
  margin-left: 16px;
  padding-right: 8px;
}

.ql-snow .ql-tooltip a.ql-remove:before {
  content: "Remove";
  margin-left: 8px;
}

.ql-snow .ql-tooltip a {
  line-height: 26px;
}

.ql-snow .ql-tooltip.ql-editing a.ql-preview, .ql-snow .ql-tooltip.ql-editing a.ql-remove {
  display: none;
}

.ql-snow .ql-tooltip.ql-editing input[type="text"] {
  display: inline-block;
}

.ql-snow .ql-tooltip.ql-editing a.ql-action:after {
  content: "Save";
  border-right: 0;
  padding-right: 0;
}

.ql-snow .ql-tooltip[data-mode="link"]:before {
  content: "Enter link:";
}

.ql-snow .ql-tooltip[data-mode="formula"]:before {
  content: "Enter formula:";
}

.ql-snow .ql-tooltip[data-mode="video"]:before {
  content: "Enter video:";
}

.ql-snow a {
  color: #06c;
}

.ql-container.ql-snow {
  border: 1px solid #ccc;
}

/* [project]/app/ui/pages/styles.css [client] (css) */
*, :before, :after {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, .5);
  --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-shadow-colored: 0 0 rgba(0, 0, 0, 0);
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}

::backdrop {
  --tw-border-spacing-x: 0;
  --tw-border-spacing-y: 0;
  --tw-translate-x: 0;
  --tw-translate-y: 0;
  --tw-rotate: 0;
  --tw-skew-x: 0;
  --tw-skew-y: 0;
  --tw-scale-x: 1;
  --tw-scale-y: 1;
  --tw-pan-x: ;
  --tw-pan-y: ;
  --tw-pinch-zoom: ;
  --tw-scroll-snap-strictness: proximity;
  --tw-gradient-from-position: ;
  --tw-gradient-via-position: ;
  --tw-gradient-to-position: ;
  --tw-ordinal: ;
  --tw-slashed-zero: ;
  --tw-numeric-figure: ;
  --tw-numeric-spacing: ;
  --tw-numeric-fraction: ;
  --tw-ring-inset: ;
  --tw-ring-offset-width: 0px;
  --tw-ring-offset-color: #fff;
  --tw-ring-color: rgba(59, 130, 246, .5);
  --tw-ring-offset-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-ring-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-shadow: 0 0 rgba(0, 0, 0, 0);
  --tw-shadow-colored: 0 0 rgba(0, 0, 0, 0);
  --tw-blur: ;
  --tw-brightness: ;
  --tw-contrast: ;
  --tw-grayscale: ;
  --tw-hue-rotate: ;
  --tw-invert: ;
  --tw-saturate: ;
  --tw-sepia: ;
  --tw-drop-shadow: ;
  --tw-backdrop-blur: ;
  --tw-backdrop-brightness: ;
  --tw-backdrop-contrast: ;
  --tw-backdrop-grayscale: ;
  --tw-backdrop-hue-rotate: ;
  --tw-backdrop-invert: ;
  --tw-backdrop-opacity: ;
  --tw-backdrop-saturate: ;
  --tw-backdrop-sepia: ;
  --tw-contain-size: ;
  --tw-contain-layout: ;
  --tw-contain-paint: ;
  --tw-contain-style: ;
}

*, :before, :after {
  box-sizing: border-box;
  border: 0 solid #e5e7eb;
}

:before, :after {
  --tw-content: "";
}

html, :host {
  -webkit-text-size-adjust: 100%;
  -moz-tab-size: 4;
  tab-size: 4;
  font-feature-settings: normal;
  font-variation-settings: normal;
  -webkit-tap-highlight-color: transparent;
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, Noto Sans, Ubuntu, Cantarell, Helvetica Neue, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
  line-height: 1.5;
}

body {
  line-height: inherit;
  margin: 0;
}

hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}

abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
}

a {
  color: inherit;
  -webkit-text-decoration: inherit;
  text-decoration: inherit;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp, pre {
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  bottom: -.25em;
}

sup {
  top: -.5em;
}

table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}

button, input, optgroup, select, textarea {
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-family: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}

button, select {
  text-transform: none;
}

button {
  -webkit-appearance: button;
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
}

input:where([type="button"]) {
  -webkit-appearance: button;
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
}

input:where([type="reset"]) {
  -webkit-appearance: button;
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
}

input:where([type="submit"]) {
  -webkit-appearance: button;
  background-color: rgba(0, 0, 0, 0);
  background-image: none;
}

:-moz-focusring {
  outline: auto;
}

:-moz-ui-invalid {
  box-shadow: none;
}

progress {
  vertical-align: baseline;
}

::-webkit-inner-spin-button {
  height: auto;
}

::-webkit-outer-spin-button {
  height: auto;
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}

::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

summary {
  display: list-item;
}

blockquote, dl, dd, h1, h2, h3, h4, h5, h6, hr, figure, p, pre {
  margin: 0;
}

fieldset {
  margin: 0;
  padding: 0;
}

legend {
  padding: 0;
}

ol, ul, menu {
  margin: 0;
  padding: 0;
  list-style: none;
}

dialog {
  padding: 0;
}

textarea {
  resize: vertical;
}

input::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}

input::placeholder, textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}

button, [role="button"] {
  cursor: pointer;
}

:disabled {
  cursor: default;
}

img, svg, video, canvas, audio, iframe, embed, object {
  vertical-align: middle;
  display: block;
}

img, video {
  max-width: 100%;
  height: auto;
}

[hidden]:where(:not([hidden="until-found"])) {
  display: none;
}

.\!container {
  width: 100% !important;
}

.container {
  width: 100%;
}

@media (min-width: 640px) {
  .\!container {
    max-width: 640px !important;
  }

  .container {
    max-width: 640px;
  }
}

@media (min-width: 768px) {
  .\!container {
    max-width: 768px !important;
  }

  .container {
    max-width: 768px;
  }
}

@media (min-width: 1024px) {
  .\!container {
    max-width: 1024px !important;
  }

  .container {
    max-width: 1024px;
  }
}

@media (min-width: 1280px) {
  .\!container {
    max-width: 1280px !important;
  }

  .container {
    max-width: 1280px;
  }
}

@media (min-width: 1536px) {
  .\!container {
    max-width: 1536px !important;
  }

  .container {
    max-width: 1536px;
  }
}

.sr-only {
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
}

.visible {
  visibility: visible;
}

.collapse {
  visibility: collapse;
}

.static {
  position: static;
}

.fixed {
  position: fixed;
}

.absolute {
  position: absolute;
}

.relative {
  position: relative;
}

.sticky {
  position: -webkit-sticky;
  position: sticky;
}

.inset-0 {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}

.left-\[85\%\] {
  left: 85%;
}

.top-\[85\%\] {
  top: 85%;
}

.isolate {
  isolation: isolate;
}

.mb-1 {
  margin-bottom: .25rem;
}

.mb-3 {
  margin-bottom: .75rem;
}

.mt-1 {
  margin-top: .25rem;
}

.mt-2 {
  margin-top: .5rem;
}

.block {
  display: block;
}

.inline-block {
  display: inline-block;
}

.inline {
  display: inline;
}

.flex {
  display: flex;
}

.inline-flex {
  display: inline-flex;
}

.table {
  display: table;
}

.grid {
  display: grid;
}

.contents {
  display: contents;
}

.hidden {
  display: none;
}

.h-10 {
  height: 2.5rem;
}

.h-14 {
  height: 3.5rem;
}

.h-2 {
  height: .5rem;
}

.h-20 {
  height: 5rem;
}

.h-24 {
  height: 6rem;
}

.h-4 {
  height: 1rem;
}

.h-6 {
  height: 1.5rem;
}

.h-full {
  height: 100%;
}

.w-12 {
  width: 3rem;
}

.w-2 {
  width: .5rem;
}

.w-24 {
  width: 6rem;
}

.w-4 {
  width: 1rem;
}

.w-6 {
  width: 1.5rem;
}

.w-8 {
  width: 2rem;
}

.w-full {
  width: 100%;
}

.min-w-full {
  min-width: 100%;
}

.max-w-xs {
  max-width: 20rem;
}

.flex-1 {
  flex: 1;
}

.flex-shrink, .shrink {
  flex-shrink: 1;
}

.flex-grow {
  flex-grow: 1;
}

.border-collapse {
  border-collapse: collapse;
}

.-translate-x-1\/2 {
  --tw-translate-x: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.-translate-y-1\/2 {
  --tw-translate-y: -50%;
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.transform {
  transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
}

.cursor-pointer {
  cursor: pointer;
}

.resize {
  resize: both;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-2 {
  gap: .5rem;
}

.-space-x-1\.5 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(-.375rem * var(--tw-space-x-reverse));
  margin-left: calc(-.375rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-x-2 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-x-reverse: 0;
  margin-right: calc(.5rem * var(--tw-space-x-reverse));
  margin-left: calc(.5rem * calc(1 - var(--tw-space-x-reverse)));
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
  --tw-space-y-reverse: 0;
  margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
  margin-bottom: calc(.25rem * var(--tw-space-y-reverse));
}

.divide-y > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-y-reverse: 0;
  border-top-width: calc(1px * calc(1 - var(--tw-divide-y-reverse)));
  border-bottom-width: calc(1px * var(--tw-divide-y-reverse));
}

.divide-gray-200 > :not([hidden]) ~ :not([hidden]) {
  --tw-divide-opacity: 1;
  border-color: rgba(229, 231, 235, var(--tw-divide-opacity, 1));
}

.overflow-x-auto {
  overflow-x: auto;
}

.truncate {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.whitespace-nowrap {
  white-space: nowrap;
}

.break-words {
  overflow-wrap: break-word;
}

.break-all {
  word-break: break-all;
}

.rounded {
  border-radius: .25rem;
}

.rounded-full {
  border-radius: 9999px;
}

.rounded-lg {
  border-radius: .5rem;
}

.rounded-md {
  border-radius: .375rem;
}

.border {
  border-width: 1px;
}

.border-2 {
  border-width: 2px;
}

.border-b-2 {
  border-bottom-width: 2px;
}

.border-gray-200 {
  --tw-border-opacity: 1;
  border-color: rgba(229, 231, 235, var(--tw-border-opacity, 1));
}

.border-red-500 {
  --tw-border-opacity: 1;
  border-color: rgba(239, 68, 68, var(--tw-border-opacity, 1));
}

.border-slate-700 {
  --tw-border-opacity: 1;
  border-color: rgba(51, 65, 85, var(--tw-border-opacity, 1));
}

.border-transparent {
  border-color: rgba(0, 0, 0, 0);
}

.border-white {
  --tw-border-opacity: 1;
  border-color: rgba(255, 255, 255, var(--tw-border-opacity, 1));
}

.bg-blue-100 {
  --tw-bg-opacity: 1;
  background-color: rgba(219, 234, 254, var(--tw-bg-opacity, 1));
}

.bg-blue-500 {
  --tw-bg-opacity: 1;
  background-color: rgba(59, 130, 246, var(--tw-bg-opacity, 1));
}

.bg-blue-600 {
  --tw-bg-opacity: 1;
  background-color: rgba(37, 99, 235, var(--tw-bg-opacity, 1));
}

.bg-current {
  background-color: currentColor;
}

.bg-gray-200 {
  --tw-bg-opacity: 1;
  background-color: rgba(229, 231, 235, var(--tw-bg-opacity, 1));
}

.bg-gray-50 {
  --tw-bg-opacity: 1;
  background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
}

.bg-gray-500 {
  --tw-bg-opacity: 1;
  background-color: rgba(107, 114, 128, var(--tw-bg-opacity, 1));
}

.bg-green-500 {
  --tw-bg-opacity: 1;
  background-color: rgba(34, 197, 94, var(--tw-bg-opacity, 1));
}

.bg-red-500 {
  --tw-bg-opacity: 1;
  background-color: rgba(239, 68, 68, var(--tw-bg-opacity, 1));
}

.bg-red-600 {
  --tw-bg-opacity: 1;
  background-color: rgba(220, 38, 38, var(--tw-bg-opacity, 1));
}

.bg-white {
  --tw-bg-opacity: 1;
  background-color: rgba(255, 255, 255, var(--tw-bg-opacity, 1));
}

.p-2 {
  padding: .5rem;
}

.p-4 {
  padding: 1rem;
}

.p-5 {
  padding: 1.25rem;
}

.px-1 {
  padding-left: .25rem;
  padding-right: .25rem;
}

.px-2 {
  padding-left: .5rem;
  padding-right: .5rem;
}

.px-3 {
  padding-left: .75rem;
  padding-right: .75rem;
}

.px-6 {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

.py-1 {
  padding-top: .25rem;
  padding-bottom: .25rem;
}

.py-1\.5 {
  padding-top: .375rem;
  padding-bottom: .375rem;
}

.py-3 {
  padding-top: .75rem;
  padding-bottom: .75rem;
}

.py-4 {
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.text-left {
  text-align: left;
}

.text-center {
  text-align: center;
}

.text-3xl {
  font-size: 1.875rem;
  line-height: 2.25rem;
}

.text-\[10px\] {
  font-size: 10px;
}

.text-lg {
  font-size: 1.125rem;
  line-height: 1.75rem;
}

.text-sm {
  font-size: .875rem;
  line-height: 1.25rem;
}

.text-xs {
  font-size: .75rem;
  line-height: 1rem;
}

.font-bold {
  font-weight: 700;
}

.font-medium {
  font-weight: 500;
}

.font-semibold {
  font-weight: 600;
}

.uppercase {
  text-transform: uppercase;
}

.lowercase {
  text-transform: lowercase;
}

.capitalize {
  text-transform: capitalize;
}

.italic {
  font-style: italic;
}

.ordinal {
  --tw-ordinal: ordinal;
  font-variant-numeric: var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);
}

.leading-5 {
  line-height: 1.25rem;
}

.tracking-wider {
  letter-spacing: .05em;
}

.text-blue-500 {
  --tw-text-opacity: 1;
  color: rgba(59, 130, 246, var(--tw-text-opacity, 1));
}

.text-blue-600 {
  --tw-text-opacity: 1;
  color: rgba(37, 99, 235, var(--tw-text-opacity, 1));
}

.text-blue-800 {
  --tw-text-opacity: 1;
  color: rgba(30, 64, 175, var(--tw-text-opacity, 1));
}

.text-gray-300 {
  --tw-text-opacity: 1;
  color: rgba(209, 213, 219, var(--tw-text-opacity, 1));
}

.text-gray-400 {
  --tw-text-opacity: 1;
  color: rgba(156, 163, 175, var(--tw-text-opacity, 1));
}

.text-gray-500 {
  --tw-text-opacity: 1;
  color: rgba(107, 114, 128, var(--tw-text-opacity, 1));
}

.text-gray-600 {
  --tw-text-opacity: 1;
  color: rgba(75, 85, 99, var(--tw-text-opacity, 1));
}

.text-gray-800 {
  --tw-text-opacity: 1;
  color: rgba(31, 41, 55, var(--tw-text-opacity, 1));
}

.text-green-500 {
  --tw-text-opacity: 1;
  color: rgba(34, 197, 94, var(--tw-text-opacity, 1));
}

.text-red-500 {
  --tw-text-opacity: 1;
  color: rgba(239, 68, 68, var(--tw-text-opacity, 1));
}

.text-white {
  --tw-text-opacity: 1;
  color: rgba(255, 255, 255, var(--tw-text-opacity, 1));
}

.text-yellow-500 {
  --tw-text-opacity: 1;
  color: rgba(234, 179, 8, var(--tw-text-opacity, 1));
}

.underline {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}

.overline {
  -webkit-text-decoration-line: overline;
  text-decoration-line: overline;
}

.line-through {
  -webkit-text-decoration-line: line-through;
  text-decoration-line: line-through;
}

.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.shadow {
  --tw-shadow: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px -1px rgba(0, 0, 0, .1);
  --tw-shadow-colored: 0 1px 3px 0 var(--tw-shadow-color), 0 1px 2px -1px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-md {
  --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
  --tw-shadow-colored: 0 4px 6px -1px var(--tw-shadow-color), 0 2px 4px -2px var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.shadow-sm {
  --tw-shadow: 0 1px 2px 0 rgba(0, 0, 0, .05);
  --tw-shadow-colored: 0 1px 2px 0 var(--tw-shadow-color);
  box-shadow: var(--tw-ring-offset-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-ring-shadow, 0 0 rgba(0, 0, 0, 0)), var(--tw-shadow);
}

.outline {
  outline-style: solid;
}

.blur {
  --tw-blur: blur(8px);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.grayscale {
  --tw-grayscale: grayscale(100%);
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.filter {
  filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow);
}

.backdrop-filter {
  -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
  backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
}

.transition {
  transition-property: color, background-color, border-color, -webkit-text-decoration-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter, backdrop-filter;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-all {
  transition-property: all;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.transition-colors {
  transition-property: color, background-color, border-color, -webkit-text-decoration-color, text-decoration-color, fill, stroke;
  transition-duration: .15s;
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.duration-100 {
  transition-duration: .1s;
}

.duration-300 {
  transition-duration: .3s;
}

.ease-in-out {
  transition-timing-function: cubic-bezier(.4, 0, .2, 1);
}

.ease-out {
  transition-timing-function: cubic-bezier(0, 0, .2, 1);
}

a {
  text-decoration: none;
}

.hover\:bg-blue-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(37, 99, 235, var(--tw-bg-opacity, 1));
}

.hover\:bg-blue-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(29, 78, 216, var(--tw-bg-opacity, 1));
}

.hover\:bg-gray-50:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(249, 250, 251, var(--tw-bg-opacity, 1));
}

.hover\:bg-red-600:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(220, 38, 38, var(--tw-bg-opacity, 1));
}

.hover\:bg-red-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(185, 28, 28, var(--tw-bg-opacity, 1));
}

.hover\:bg-slate-700:hover {
  --tw-bg-opacity: 1;
  background-color: rgba(51, 65, 85, var(--tw-bg-opacity, 1));
}

.hover\:text-blue-800:hover {
  --tw-text-opacity: 1;
  color: rgba(30, 64, 175, var(--tw-text-opacity, 1));
}

.hover\:underline:hover {
  -webkit-text-decoration-line: underline;
  text-decoration-line: underline;
}

.focus\:outline-none:focus {
  outline-offset: 2px;
  outline: 2px solid rgba(0, 0, 0, 0);
}

.focus\:ring-2:focus {
  --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
  --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
  box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 rgba(0, 0, 0, 0));
}

.focus\:ring-blue-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(59, 130, 246, var(--tw-ring-opacity, 1));
}

.focus\:ring-red-500:focus {
  --tw-ring-opacity: 1;
  --tw-ring-color: rgba(239, 68, 68, var(--tw-ring-opacity, 1));
}

.focus\:ring-offset-2:focus {
  --tw-ring-offset-width: 2px;
}

/*# sourceMappingURL=app_ui_5ea5168f._.css.map*/