/* src/colors.css */
[color]:not([color=standard]) {
  --primary: hsl(var(--hue), 100%, var(--accent-luma));
  --primary-hover: hsl(var(--hue), 95%, var(--accent-luma));
  --primary-active: hsl(var(--hue), 80%, var(--accent-luma));
  --text-on-color: hsl(0, 0%, var(--accent-text-luma));
  --link: hsl(var(--hue), 100%, var(--accent-luma));
  --surface: hsla(var(--hue), 80%, 30%, 5%);
  --surface-hover: hsla(var(--hue), 100%, 5%, 10%);
  --surface-active: hsla(var(--hue), 100%, 5%, 15%);
}
body:is([theme=dark], [theme=black]) [color]:not([color=standard]) {
  --accent-luma: var(--accent-luma-dark);
  --accent-text-luma: var(--accent-text-luma-dark);
  --surface: hsla(var(--hue), 100%, 95%, 5%);
  --surface-hover: hsla(var(--hue), 100%, 95%, 10%);
  --surface-active: hsla(var(--hue), 100%, 95%, 15%);
}
[color]:not([color=standard]).tile {
  --gradient-luma-1: 70%;
  --gradient-luma-2: 90%;
  --hover-luma: 75%;
  --active-luma: 80%;
  --text-luma: 20%;
  --surface:
    linear-gradient(
      
      120deg,
      hsl(var(--hue), 100%, var(--gradient-luma-1)),
      hsla(var(--hue), 100%, var(--gradient-luma-2), 40%) );
  --surface-hover: hsl(var(--hue), 100%, var(--hover-luma));
  --surface-active: hsl(var(--hue), 100%, var(--active-luma));
  --text-normal: hsl(var(--hue), 100%, var(--text-luma));
}
body:is([theme=dark], [theme=black]) [color]:not([color=standard]).tile {
  --gradient-luma-1: 20%;
  --gradient-luma-2: 15%;
  --hover-luma: 25%;
  --active-luma: 30%;
  --text-luma: 90%;
  --surface:
    linear-gradient(
      
      120deg,
      hsl(var(--hue), 100%, var(--gradient-luma-1)),
      hsla(var(--hue), 100%, var(--gradient-luma-2), 40%) );
  --surface-hover: hsl(var(--hue), 100%, var(--hover-luma));
  --surface-active: hsl(var(--hue), 100%, var(--active-luma));
  --text-normal: hsl(var(--hue), 100%, var(--text-luma));
}
[color]:not([color=standard]).fill-color {
  color: white;
  background-color: var(--primary);
}
[color]:not([color=standard])[selected].fill-color {
  color: var(--primary);
}
@media (min-width: 1024px) {
  [color]:not([color=standard]).background {
    --luma: var(--background-luma);
    --sat: 100%;
    background: hsl(var(--hue), var(--sat), var(--luma), 40%);
  }
  body:is([theme=dark], [theme=black]) [color]:not([color=standard]).background {
    --luma: var(--background-luma-dark);
  }
  [color=standard].background {
    background: var(--surface);
  }
}
body [color] :is(.background-primary, .primary) hr {
  --border: hsla(0, 0%, var(--accent-text-luma), 10%);
}
body [color]:not([color=standard]).subtle-background {
  --luma: var(--subtle-luma);
  background: hsl(var(--hue), 100%, var(--luma), 40%);
}
body:is([theme=dark], [theme=black]) [color]:not([color=standard]).subtle-background {
  --luma: var(--subtle-luma-dark);
}
body[theme=black] * {
  --subtle-luma: black !important;
  --subtle-luma-dark: black !important;
}
[color=coral] {
  --hue: 20;
  --accent-luma: 50%;
  --accent-luma-dark: 70%;
  --accent-text-luma: 100%;
  --accent-text-luma-dark: 100%;
  --background-luma: 90%;
  --background-luma-dark: 11%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}
[color=yellow] {
  --hue: 60;
  --accent-luma: 60%;
  --accent-luma-dark: 60%;
  --accent-text-luma: 0%;
  --accent-text-luma-dark: 0%;
  --background-luma: 85%;
  --background-luma-dark: 11%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}
[color=green] {
  --hue: 120;
  --accent-luma: 40%;
  --accent-luma-dark: 60%;
  --accent-text-luma: 100%;
  --accent-text-luma-dark: 0%;
  --background-luma: 85%;
  --background-luma-dark: 12%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}
[color=lightblue] {
  --hue: 180;
  --accent-luma: 40%;
  --accent-luma-dark: 60%;
  --accent-text-luma: 0%;
  --accent-text-luma-dark: 0%;
  --background-luma: 85%;
  --background-luma-dark: 12%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}
[color=blue] {
  --hue: 220;
  --accent-luma: 50%;
  --accent-luma-dark: 70%;
  --accent-text-luma: 100%;
  --accent-text-luma-dark: 100%;
  --background-luma: 90%;
  --background-luma-dark: 12%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}
[color=purple] {
  --hue: 280;
  --accent-luma: 50%;
  --accent-luma-dark: 70%;
  --accent-text-luma: 100%;
  --accent-text-luma-dark: 100%;
  --background-luma: 90%;
  --background-luma-dark: 11%;
  --subtle-luma: 95%;
  --subtle-luma-dark: 5%;
}

/* src/coloredTile.css */
.colored-tile {
  position: relative;
  display: flex;
  align-items: flex-end !important;
  justify-content: start;
  overflow: hidden;
}
.colored-tile h2 {
  margin: 0px;
}
.colored-tile .shadow {
  position: absolute;
  left: -15px;
  bottom: -45px;
  font-size: 7rem;
  opacity: 0.1;
  white-space: nowrap;
}

/* src/base.css */
#home-page,
#home-page #chat-section,
#chat-page,
#chat-page #main > div {
  animation: slide-up var(--animation-duration) ease;
}
#background-wrapper {
  position: fixed;
  inset: 0px;
  z-index: 1;
  pointer-events: none;
  overflow: hidden;
  background: var(--background);
}
main {
  z-index: 2;
}
#background-wrapper > div {
  position: absolute;
  inset: -100px;
  z-index: -1;
  pointer-events: none;
  opacity: 0.3;
}
#background-wrapper > div > div {
  position: absolute;
  inset: 0px;
  filter: blur(80px);
}
#background-wrapper #sky {
  left: -100%;
  bottom: -50%;
  background-image: radial-gradient(var(--sky-1), var(--sky-2));
}
body {
  transition: --sky-1 1s, --sky-2 5s;
}
#background-wrapper #grass-1 {
  --color-1: hsl(104.61, 100%, 46.85%);
  --color-2: hsl(37.43, 88.75%, 53.58%);
  filter: var(--backdrop-grass-filter);
  background-image:
    linear-gradient(
      350deg,
      var(--color-1),
      var(--color-2) 30%,
      transparent 50%);
}
#background-wrapper #grass-2 {
  --color-1: hsl(110, 60%, 40%);
  --color-2: hsl(110, 60%, 35%);
  filter: var(--backdrop-grass-filter);
  background-image:
    linear-gradient(
      9deg,
      var(--color-1),
      var(--color-2) 30%,
      transparent 45%);
}
body[theme=dark] #background-wrapper > div {
  opacity: 0.5;
}
body[theme=dark] #background-wrapper #sky {
  --color-1: hsl(188, 100%, 30%);
  --color-2: hsl(194, 72%, 24%);
}
body[theme=dark] #background-wrapper #grass-1 {
  --color-1: hsl(120, 30%, 30%);
  --color-2: hsl(120, 30%, 24%);
}
body[theme=dark] #background-wrapper #grass-2 {
  --color-1: hsl(110, 60%, 30%);
  --color-2: hsl(110, 50%, 24%);
}
.zoom {
  display: flex;
  align-items: start;
  gap: var(--large-gap);
  width: auto;
  height: auto;
  transform-origin: center;
  padding: var(--content-padding);
}
[ctkeystroke] {
  position: relative;
}
[ctkeystroke]::after {
  content: attr(ctkeystroke);
  background: var(--primary);
  color: var(--text-on-color);
  --size: 24px;
  position: absolute;
  top: calc(50% - var(--size) / 2);
  left: calc(50% - var(--size) / 2);
  width: var(--size);
  height: var(--size);
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transform: translateY(10px);
  transition: all calc(var(--animation-duration) / 2);
}
body[keystroke-active] [ctkeystroke]::after {
  opacity: 0.7;
  transform: translateY(0px);
}

/* src/View/homePage.css */
#home-page {
  overflow: auto;
  padding: var(--content-padding);
  min-width: unset;
  max-width: 1000px;
}
#home-page > h1 {
  font-size: 3rem;
  font-family: IBM Plex Sans Thin;
}
#home-page > div {
  position: relative;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  padding: 0px;
  height: auto;
  overflow: visible;
}
#home-page > div > div {
  display: flex;
  flex-direction: column;
  justify-content: start;
  width: 100%;
  min-width: 100%;
}
#home-page #overview-section {
  gap: var(--gap-between-tiles);
}
#home-page #chat-section > button {
  margin-bottom: var(--gap-between-tiles);
}
#home-page #chat-grid {
  display: grid;
  gap: var(--gap-between-tiles);
  grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
}
@media (min-width: 640px) {
  #home-page > div {
    gap: var(--content-padding);
  }
  #home-page #overview-section {
    width: 20rem;
    min-width: 20rem;
  }
  #home-page #chat-section {
    flex: 1;
    min-width: unset;
  }
}
@media (min-width: 1000px) {
  #home-page > div {
    gap: var(--large-gap);
  }
  #home-page > h1 {
    padding-top: 3rem;
    padding-bottom: 1rem;
  }
}

/* src/View/chatPage.css */
#chat-page-wrapper {
  display: none;
}
body[showing-chat] #home-page {
  display: none;
}
body[showing-chat] #chat-page-wrapper {
  display: flex;
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  background-color: var(--background-glass);
  z-index: 2;
}
#chat-page {
  --ribbon-size: var(--control-height);
}
#chat-page > div,
#chat-page > div > #ribbon,
#chat-page > div > #ribbon > span,
#chat-page > div > #main,
#chat-page > div > #main > div,
#chat-page > div > #main > div > .pane-wrapper > .pane,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span,
#chat-page > div > #main > div > .pane-wrapper > .pane > .content {
  display: flex;
}
#chat-page > div {
  padding: 0px;
  overflow: hidden;
}
#chat-page > div > #main {
  width: calc(100% - var(--ribbon-size) - 1px);
}
#chat-page #main > div,
#chat-page > div > #main > div > .pane-wrapper,
#chat-page > div > #main > div > .pane-wrapper > .pane,
#chat-page > div > #main > div > .pane-wrapper > .pane > .content {
  width: 100%;
  height: 100%;
  flex: 1;
}
#chat-page > div > #main > div > .pane-wrapper,
#chat-page > div > #main > div > .pane-wrapper > .pane {
  flex-direction: column;
  scroll-snap-align: center;
  min-width: 100%;
  overflow: hidden;
}
@media (pointer: coarse) and (max-width: 480px) {
  #chat-page > div > #main > div > .pane-wrapper > .pane {
    flex-direction: column-reverse;
  }
}
#chat-page > div > #main > div > .pane-wrapper > .pane:not(.side),
#chat-page > div > #main > div > .pane-wrapper > .pane:not(.side) .content {
  animation: slide-up var(--animation-duration);
}
@media (min-width: 1024px) {
  #chat-page > div > #main > div > .pane-wrapper {
    min-width: unset;
  }
  #chat-page > div > #main > div > .pane-wrapper.side {
    width: 18rem;
    min-width: 18rem;
    max-width: 18rem;
  }
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .content {
  flex-direction: column;
  overflow: auto;
  padding: var(--content-padding);
}
#chat-page #ribbon,
#chat-page #main,
#chat-page #main .content {
  flex-direction: column;
}
#chat-page > div > #ribbon,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar {
  align-items: center;
}
#chat-page > div > #ribbon {
  width: calc(var(--ribbon-size) + 1px);
  border-right: 1px solid var(--border);
  padding-bottom: var(--safe-area-bottom);
}
#chat-page > div > #ribbon > span,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.ribbon {
  gap: var(--gap-between-tiles);
  padding: var(--gap-between-tiles);
}
@media (pointer: coarse) and (max-width: 480px) {
  #chat-page > div > #ribbon #close-button {
    order: 1;
  }
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar {
  justify-content: start;
  justify-content: space-between;
}
#chat-page > div > #ribbon > span {
  overflow-x: hidden;
  flex-direction: column;
  justify-content: end;
}
#chat-page > div > #ribbon > span.marquee {
  height: 100%;
  overflow: hidden;
  position: relative;
}
#chat-page > div > #ribbon > span.marquee > span {
  transform: rotate(270deg);
  transform-origin: left;
  position: absolute;
  bottom: -10px;
  left: calc(var(--control-height) / 2);
  height: var(--control-height);
  min-width: 100vh;
  overflow: visible;
  text-overflow: visible;
  white-space: nowrap;
  display: flex;
  align-items: center;
  gap: var(--gap-between-tiles);
}
#chat-page > div > #ribbon > span.marquee > span > * {
  animation: slide-up var(--animation-duration);
}
#chat-page > div > #ribbon > .navigation-buttons {
  min-height: calc(var(--control-height) * 4);
  flex: 0;
}
#chat-page > div > #ribbon button,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar button {
  padding: 0px;
  width: var(--control-height);
  max-width: var(--control-height);
  height: var(--control-height);
  min-height: var(--control-height);
  align-items: center;
  justify-content: center;
}
#chat-page > div > #ribbon button.ribbon-button,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar button.ribbon-button {
  min-width: calc(var(--control-height) - 2 * var(--gap-between-tiles));
  width: calc(var(--control-height) - 2 * var(--gap-between-tiles));
  max-width: calc(var(--control-height) - 2 * var(--gap-between-tiles));
  min-height: unset;
  height: calc(var(--control-height) - 2 * var(--gap-between-tiles));
  color: var(--primary);
}
#chat-page > div > #ribbon button > .icon,
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar button > .icon {
  font-size: 1.1rem;
}
#chat-page > div > #ribbon > span {
  width: 100%;
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar {
  height: var(--ribbon-size);
  overflow-x: auto;
  padding: 0px;
  overflow-y: hidden;
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span {
  display: flex;
  align-items: center;
  overflow-y: hidden;
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar > span.title {
  padding-left: var(--content-padding);
}
#chat-page > div > #main > div > .pane-wrapper > .pane > .toolbar :is(input, select, button) {
  height: 100%;
  flex: 1;
}
.modal.task-settings > div {
  max-width: 52rem;
}
@media (min-width: 640px) {
  .modal.task-settings .column-wrapper {
    display: flex;
    flex-direction: row;
    gap: var(--content-padding);
  }
  .modal.task-settings .column-wrapper > .flex-column {
    width: 100%;
    flex: 1;
  }
}
.modal.task-settings:not([full-description]) :is(#fullscreen-exit, #fullscreen-main) {
  display: none;
}
.modal.task-settings[full-description] :is(#controls, #standard-main) {
  display: none;
}
.modal.task-settings[full-description] > div {
  height: 100%;
}

/* src/View/ChatPages/taskPage.css */
#chat-page > div > #main > #task-page > .pane-wrapper > .pane > .main-content {
  width: 100%;
  max-width: 100%;
  padding: 0px;
  overflow: hidden;
}
#chat-page > div > #main > #task-page > .pane-wrapper > .pane > .main-content > div {
  animation: slide-up var(--animation-duration);
}
#chat-page > div > #main > #task-page .task-grid {
  display: flex;
  flex-direction: column;
  gap: var(--gap-between-tiles);
  padding: var(--content-padding);
}
#board-content .main-content {
  overflow: auto;
}
#chat-page > div > #main > #task-page .kanban-board-wrapper .kanban-column,
#chat-page > div > #main > #task-page .status-grid-wrapper .status-column {
  display: flex;
  flex-direction: column;
  gap: var(--gap-between-tiles);
}
#chat-page > div > #main > #task-page .property-input-wrapper {
  display: flex;
  flex-direction: row;
}
#chat-page > div > #main > #task-page .kanban-board-wrapper .kanban-column,
#chat-page > div > #main > #task-page .property-input-wrapper,
#chat-page > div > #main > #task-page .status-grid-wrapper .status-column,
#chat-page > div > #main > #task-page .status-name-row > *,
#chat-page > div > #main > #task-page .status-name-row::before {
  width: 18rem;
  min-width: 18rem;
  max-width: 18rem;
}
#chat-page > div > #main > #task-page .status-name-row,
#chat-page > div > #main > #task-page .status-grid-wrapper {
  display: flex;
  gap: var(--large-gap);
}
#chat-page > div > #main > #task-page .status-page-content,
#chat-page > div > #main > #task-page .status-grid-wrapper {
  flex-direction: column;
}
#chat-page > div > #main > #task-page .status-name-row::before {
  content: "";
  display: flex;
}
#chat-page > div > #main > #task-page .board-close-button {
  display: none;
}
#chat-page > div > #main > #task-page .board-toggle-button {
  display: flex;
}
#chat-page > div > #main > #task-page[isshowingboard][showingboardlist=false] #board-list {
  display: none;
}
@media (min-width: 640px) {
  #chat-page > div > #main > #task-page .task-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr));
  }
}
@media (max-width: 1024px) {
  #chat-page > div > #main > #task-page #board-list {
    display: false;
  }
  #chat-page > div > #main > #task-page #board-content {
    display: none;
  }
  #chat-page > div > #main > #task-page[isshowingboard] #board-list {
    display: none;
  }
  #chat-page > div > #main > #task-page[isshowingboard] #board-content {
    display: flex;
  }
  #chat-page > div > #main > #task-page .board-close-button {
    display: flex;
  }
  #chat-page > div > #main > #task-page .board-toggle-button {
    display: none;
  }
}

/* src/View/ChatPages/messagePage.css */
#chat-page #main #message-page[reply-view] .toolbar .title {
  padding-left: 0px;
}
#chat-page #main #message-page .content {
  padding: 0px;
  overflow: hidden;
  display: flex;
  position: relative;
}
#chat-page #main #message-page .content #message-container {
  --message-container-padding: var(--control-height);
  padding-bottom: calc(var(--message-container-padding) + var(--content-padding)) !important;
}
#chat-page #main #message-page:not([reply-view]) .content:has(.reply-preview-wrapper .reply-preview) #message-container {
  --message-container-padding: calc( 2 * var(--control-height) + var(--gap-between-tiles) );
}
#message-page #message-container {
  overflow: auto;
}
#message-page .reply-header {
  width: 100%;
  padding-left: var(--content-padding);
  gap: var(--gap-in-controls);
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--surface);
}
#message-page .reply-header span {
  width: 100%;
  flex: 1;
}
#message-page #composer {
  display: flex;
  justify-content: center;
  position: absolute;
  bottom: 0px;
  left: 0px;
  right: 0px;
}
#message-page #composer input {
  margin: 0px;
  width: 100%;
  max-width: unset;
  flex: 1;
  border-top: 1px solid var(--border);
  border-left: 1px solid var(--border);
}
#message-page #composer .content-width-constraint {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  flex-direction: column;
  gap: var(--gap-between-tiles);
}
#message-page #composer .reply-preview-wrapper {
  display: flex;
  justify-content: flex-end;
  width: 100%;
}
#message-page #composer .reply-preview-wrapper .reply-preview {
  width: 100%;
  max-width: var(--max-input-width);
  display: flex;
  gap: var(--gap-between-tiles);
}
#message-page #composer .reply-preview-wrapper .reply-preview > div {
  display: flex;
  align-items: center;
  gap: var(--text-gap);
  padding: 0px var(--content-padding);
  width: calc(100% - var(--control-height) - var(--gap-between-tiles));
}
@media (max-width: 700px) {
  #message-page #composer div {
    width: calc(100vw - var(--control-height));
    max-width: unset;
    display: flex;
  }
}
@media (min-width: 700px) {
  #message-page #composer .content-width-constraint,
  #message-page #composer .input-width-constraint {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    max-width: var(--max-content-width);
  }
  #message-page #composer .content-width-constraint {
    max-width: var(--max-content-width);
  }
  #message-page #composer .input-width-constraint {
    max-width: var(--max-input-width);
  }
}
#message-page #message-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: var(--content-padding);
  gap: var(--gap-between-tiles);
  height: auto;
  max-height: unset;
}
#message-page #message-container:not([scroll-hard]) {
  scroll-behavior: smooth;
}
.message-bubble {
  display: flex;
  flex-direction: column;
  width: 100%;
  max-width: var(--max-content-width);
}
.message-bubble .tile.main {
  display: flex;
  flex-direction: row;
  align-items: start;
  padding: 0px;
  width: 100%;
  max-width: var(--max-input-width);
  overflow: hidden;
}
.message-bubble .tile.main .text-container {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  width: 100%;
  flex: 1;
}
.message-bubble .tile.main .button-container {
  display: flex;
  width: var(--control-height);
  max-width: var(--control-height);
}
.message-bubble .tile.main button {
  justify-content: center;
  padding: 0px;
  width: 100%;
  --surface: transparent;
}
.message-bubble .tile.main .reply-button {
  display: none;
}
.message-bubble:hover .tile.main .reply-button {
  display: flex;
}
.message-bubble .tile.main .text-container {
  padding: var(--control-padding);
}
.message-bubble .tile.main .timestamp,
.message-bubble .tile.main .timestamp .icon,
.message-bubble .tile.main .sender-name {
  font-size: 0.8rem;
  opacity: 0.6;
}
.message-bubble .tile.main .timestamp {
  display: flex;
  align-items: center;
  gap: var(--gap-between-tiles);
}
.message-bubble .tile.main .timestamp .icon {
  display: none;
}
.message-bubble .tile.main .sender-name {
  font-weight: bold;
}
.message-bubble .tile.main .body {
  word-break: break-word;
}
.modal .message-bubble .tile.main .body {
  word-break: keep-all;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
}
.message-bubble[sentbyuser] {
  justify-content: flex-end;
}
.message-bubble[sentbyuser] {
  align-items: flex-end;
}
.message-bubble[sentbyuser] .tile.main,
.message-bubble[sentbyuser] .tile.main .timestamp {
  flex-direction: row-reverse;
}
.message-bubble[sentbyuser] .tile.main .timestamp .icon {
  display: flex;
}
.message-bubble[sentbyuser] .tile.main span {
  text-align: right;
}
.message-bubble > :is(.inline-reply, .reply-link, .message-reaction-row) {
  cursor: pointer;
  display: flex;
  align-items: center;
  background: var(--surface-alt);
  max-width: var(--max-input-width);
  width: 100%;
  overflow: hidden;
  padding: 0px var(--control-padding);
}
.message-bubble > .inline-reply {
  border-left: var(--outline-width) solid var(--primary);
  gap: var(--text-gap);
  height: var(--control-height);
}
.message-bubble > .reply-link {
  gap: 5px;
  height: var(--control-height);
}
.message-bubble > .message-reaction-row {
  padding: var(--gap-between-tiles);
}
#message-page[reply-view] :is(.reply-link, .inline-reply, #composer .reply-preview-wrapper) {
  display: none;
}
.message-bubble > .message-reaction-row {
  padding: var(--gap-between-tiles);
  display: none !important;
}
.message-bubble > .message-reaction-row:has(button:not([count="0"])) {
  display: grid !important;
}
.message-bubble > .message-reaction-row button {
  min-height: unset;
  height: 100%;
  width: 100%;
  padding: var(--control-padding-compact);
  gap: 0px;
  flex: 1 !important;
  animation: slide-up var(--animation-duration);
}
.message-bubble > .message-reaction-row button[count="0"] {
  display: none;
}
.message-reaction-row {
  grid-template-columns: repeat(3, minmax(80px, 1fr));
}
@media (min-width: 100px) {
  .message-reaction-row {
    grid-template-columns: repeat(3, minmax(80px, 1fr));
  }
}
.grid.message-reaction-filter {
  grid-template-columns: repeat(3, 1fr);
}

/* src/View/ChatPages/calendarPage.css */
#chat-page > div > #main > #calendar-page > .pane-wrapper > .pane > .toolbar .input-wrapper {
  display: flex;
  padding: var(--gap-between-tiles);
  gap: var(--gap-between-tiles);
}
#chat-page > div > #main > #calendar-page > .pane-wrapper > .pane > .toolbar .input-wrapper > input {
  min-height: unset;
  height: calc(var(--control-height) - 2 * var(--gap-between-tiles));
  appearance: textfield;
  -moz-appearance: textfield;
  padding-right: 0px;
}
#calendar-page .input-wrapper > input::-webkit-outer-spin-button,
#calendar-page .input-wrapper > input::-webkit-innner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0px;
}
#chat-page > div > #main > #calendar-page > .pane-wrapper > .pane > .toolbar .input-wrapper > .year-input {
  width: 4.4rem;
}
#chat-page > div > #main > #calendar-page > .pane-wrapper > .pane > .toolbar .input-wrapper > .month-input {
  width: 3.1rem;
}
@media (max-width: 750px) {
  #chat-page > div > #main > #calendar-page {
    flex-direction: column;
  }
  #chat-page > div > #main > #calendar-page .grid-pane-wrapper {
    border-bottom: 1px solid var(--border);
  }
}
@media (max-width: 1024px) and (min-width: 750px) {
  #chat-page > div > #main > #calendar-page .pane-wrapper {
    flex: 1;
    min-width: unset;
  }
  #chat-page > div > #main > #calendar-page .grid-pane-wrapper {
    border-right: 1px solid var(--border);
  }
}

/* src/View/Components/monthGrid.css */
.month-grid-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--gap-between-tiles);
  height: 100%;
  overflow: auto;
}
.month-grid-wrapper .day-labels {
  flex: 0;
  padding: var(--content-padding);
  padding-bottom: 0px;
}
.month-grid-wrapper > div {
  display: grid;
  gap: var(--gap-between-tiles);
  grid-template-columns: repeat(7, minmax(0px, 1fr));
  animation: slide-up var(--animation-duration);
}
.month-grid {
  overflow: visible;
  padding: var(--content-padding);
  padding-top: 0px;
  flex: 1;
  grid-auto-rows: 1fr;
}
.month-grid .tile {
  animation: slide-up var(--animation-duration);
  overflow: hidden;
  align-items: start;
}
.month-grid .tile[today] b {
  color: var(--primary);
}
.month-grid .tile > div {
  width: 100%;
  height: 100%;
}
.month-grid .tile .event-count {
  display: none;
  background-color: var(--text-normal);
  color: var(--background);
  opacity: 0.6;
  border-radius: 100%;
  width: 1rem;
  height: 1rem;
  font-size: 0.6rem;
  font-weight: bold;
  align-items: center;
  justify-content: center;
}
.month-grid .tile .event-count[has-events] {
  background-color: var(--primary);
  opacity: 1;
}
.month-grid .tile .event-list {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  gap: var(--gap-between-tiles);
}
.month-grid .tile .event-list span {
  animation: slide-up var(--animation-duration);
}
@media (max-width: 900px) {
  .month-grid .tile {
    padding: 0px;
  }
  .month-grid .tile > div {
    align-items: center;
    justify-content: center;
  }
  .month-grid .tile .event-count {
    display: flex;
  }
  .month-grid .tile .event-list {
    display: none;
  }
}

/* src/View/Modals/splitModal.css */
.modal > div:has(.split-modal[extended]) {
  max-width: 64rem;
}
.split-modal {
  width: 100%;
  height: 100%;
  display: flex;
  overflow-x: scroll;
  overflow-y: hidden;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
}
.split-modal > div {
  width: 100%;
  min-width: calc(100% - 4rem);
  flex: 0;
  scroll-snap-align: center;
}
.split-modal > div,
.split-modal > div > .scroll-area {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: start;
}
.split-modal[navigation]:not([page-open]) > div {
  justify-content: safe center;
}
.split-modal[navigation] > div {
  min-width: 100%;
}
.split-modal .scroll-area {
  flex: 1;
  width: 100%;
  overflow-y: auto;
  padding: var(--content-padding);
}
.split-modal[navigation] > div:nth-child(2) > .flex-row > button {
  transform: translateX(calc(-1 * var(--content-padding)));
}
.split-modal .detail-button-wrapper {
  display: flex;
  justify-content: end;
  border-top: 1px solid var(--border);
  padding: var(--content-padding);
}
.split-modal .detail-button-wrapper button {
  max-width: 100%;
}
.split-modal code {
  width: 100%;
  height: 100%;
  font-size: 0.9rem;
}
@media (min-width: 640px) {
  .split-modal > div {
    flex: 1;
    min-width: unset;
  }
  .split-modal[navigation] > div {
    min-width: unset;
  }
  .split-modal[navigation] > div:first-child {
    flex: 0;
    min-width: 20rem;
  }
  .split-modal:not([navigation]) > div {
    width: 50%;
    min-width: 50%;
  }
  .split-modal .detail-button-wrapper {
    display: none;
  }
}
@media (max-width: 640px) {
  .split-modal[navigation]:not([page-open]) > div:nth-child(2) {
    display: none;
  }
  .split-modal[navigation][page-open] > div:first-child {
    display: none;
  }
}
