@font-face {
  font-family: "site-title";
  src: url("/static/fonts/ChicagoFLF.woff2");
}
@font-face {
  font-family: "Cadman";
  src: url("/static/fonts/Cadman_Roman.woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Cadman";
  src: url("/static/fonts/Cadman_Bold.woff2");
  font-weight: bold;
  font-style: normal;
}
@font-face {
  font-family: "Cadman";
  src: url("/static/fonts/Cadman_Italic.woff2");
  font-weight: normal;
  font-style: italic;
}
@font-face {
  font-family: "Cadman";
  src: url("/static/fonts/Cadman_BoldItalic.woff2");
  font-weight: bold;
  font-style: italic;
}
.reaction-button.active, .tab-button, .currentpage, .pagebutton, input[type=file]::file-selector-button, button.warn, input[type=submit].warn, .linkbutton.warn, button.critical, input[type=submit].critical, .linkbutton.critical, button, input[type=submit], .linkbutton {
  cursor: default;
  font-size: 0.9em;
  font-family: "Cadman";
  text-decoration: none;
  border: 1px solid black;
  border-radius: 4px;
  padding: 5px 20px;
  margin: 10px 0;
}

body {
  font-family: "Cadman";
  margin: 20px 100px;
  background-color: rgb(173.5214173228, 183.6737007874, 161.0262992126);
  color: black;
}

a:link {
  color: #c11c1c;
}
a:visited {
  color: #730c0c;
}

.big {
  font-size: 1.8rem;
}

#topnav {
  padding: 10px;
  margin: 0;
  display: flex;
  justify-content: end;
  background-color: #c1ceb1;
  justify-content: space-between;
  align-items: baseline;
}

#bottomnav {
  padding: 10px;
  margin: 0;
  display: flex;
  justify-content: end;
  background-color: rgb(143.7039271654, 144.3879625984, 142.8620374016);
}

.darkbg {
  padding-bottom: 10px;
  padding-left: 10px;
  padding-right: 10px;
  background-color: rgb(143.7039271654, 144.3879625984, 142.8620374016);
}

.user-actions {
  display: flex;
  column-gap: 15px;
}

.site-title {
  font-family: "site-title";
  font-size: 3rem;
  margin: 0 20px;
  text-decoration: none;
  color: black !important;
}

.thread-title {
  margin: 0;
  font-size: 1.5rem;
  font-weight: bold;
}

.post {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: 1fr;
  gap: 0;
  grid-auto-flow: row;
  grid-template-areas: "usercard post-content-container";
  border: 2px outset rgb(135.1928346457, 145.0974015748, 123.0025984252);
}

.usercard {
  grid-area: usercard;
  padding: 20px 10px;
  border: 4px outset rgb(217.26, 220.38, 213.42);
  background-color: rgb(143.7039271654, 144.3879625984, 142.8620374016);
  border-right: solid 2px;
}

.usercard-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  top: 10px;
  position: sticky;
}

.post-content-container {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: min-content 1fr min-content;
  gap: 0;
  grid-auto-flow: row;
  grid-template-areas: "post-info" "post-content" "post-reactions";
  grid-area: post-content-container;
  min-height: 100%;
}

.post-info {
  grid-area: post-info;
  display: flex;
  min-height: 70px;
  justify-content: space-between;
  padding: 5px 20px;
  align-items: center;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  background-color: rgb(173.5214173228, 183.6737007874, 161.0262992126);
}

.post-content {
  grid-area: post-content;
  padding: 20px 20px 0 20px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background-color: #c1ceb1;
}

.post-reactions {
  grid-area: post-reactions;
  min-height: 50px;
  display: flex;
  padding: 5px 20px;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  background-color: rgb(173.5214173228, 183.6737007874, 161.0262992126);
  border-top: 2px dotted gray;
}

.post-inner {
  height: 100%;
  padding-right: 25%;
}
.post-inner.wider {
  padding-right: 12.5%;
}

.signature-container {
  border-top: 2px dotted gray;
  padding: 10px 0;
}

pre code {
  display: block;
  background-color: rgb(38.5714173228, 40.9237007874, 35.6762992126);
  font-size: 1rem;
  color: white;
  border-bottom-right-radius: 8px;
  border-bottom-left-radius: 8px;
  border-left: 10px solid rgb(229.84, 231.92, 227.28);
  padding: 20px;
  overflow: scroll;
  tab-size: 4;
}

.copy-code-container {
  position: sticky;
  width: calc(100% - 4px);
  display: flex;
  justify-content: space-between;
  align-items: last baseline;
  font-family: "Cadman";
  border-top-right-radius: 8px;
  border-top-left-radius: 8px;
  background-color: #c1ceb1;
  border-left: 2px solid black;
  border-right: 2px solid black;
  border-top: 2px solid black;
}
.copy-code-container::before {
  content: "code block";
  font-style: italic;
  margin-left: 10px;
}

.copy-code {
  margin-right: 10px;
}

.inline-code {
  background-color: rgb(38.5714173228, 40.9237007874, 35.6762992126);
  color: white;
  padding: 5px 10px;
  display: inline-block;
  margin: 4px;
  border-radius: 4px;
  font-size: 1rem;
  white-space: pre;
}

#delete-dialog, .lightbox-dialog {
  padding: 0;
  border-radius: 4px;
  border: 2px solid black;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
}

.delete-dialog-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px;
}

.lightbox-inner {
  display: flex;
  flex-direction: column;
  padding: 20px;
  min-width: 400px;
  background-color: #c1ceb1;
  color: black;
  gap: 10px;
}

.lightbox-image {
  max-width: 70vw;
  max-height: 70vh;
  object-fit: scale-down;
}

.lightbox-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

blockquote {
  padding: 10px 20px;
  margin: 10px;
  border-radius: 4px;
  border-left: 10px solid rgb(229.84, 231.92, 227.28);
  background-color: rgba(0, 0, 0, 0.1490196078);
}

.user-info {
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-template-rows: 1fr;
  gap: 0;
  grid-template-areas: "user-page-usercard user-page-stats";
}

.user-page-usercard {
  grid-area: user-page-usercard;
  padding: 20px 10px;
  border: 4px outset rgb(217.26, 220.38, 213.42);
  background-color: rgb(143.7039271654, 144.3879625984, 142.8620374016);
  border-right: solid 2px;
}

.user-page-stats {
  grid-area: user-page-stats;
  padding: 20px 30px;
  border: 1px solid black;
}

.user-stats-list {
  list-style: none;
  margin: 0 0 10px 0;
}

.user-page-posts {
  border-left: 1px solid black;
  border-right: 1px solid black;
  border-bottom: 1px solid black;
  background-color: #c1ceb1;
}

.user-page-post-preview {
  max-height: 200px;
  mask-image: linear-gradient(180deg, #000 60%, transparent);
}

.avatar {
  width: 90%;
  height: 90%;
  object-fit: contain;
  margin-bottom: 10px;
}

.username-link {
  overflow-wrap: anywhere;
}

.user-status {
  text-align: center;
}

button, input[type=submit], .linkbutton {
  display: inline-block;
  background-color: rgb(177, 206, 204.5);
  color: black !important;
}
button:hover, input[type=submit]:hover, .linkbutton:hover {
  background-color: rgb(192.6, 215.8, 214.6);
}
button:active, input[type=submit]:active, .linkbutton:active {
  background-color: rgb(166.6881496063, 178.0118503937, 177.4261417323);
}
button:disabled, input[type=submit]:disabled, .linkbutton:disabled {
  background-color: rgb(209.535, 211.565, 211.46);
}
button.reduced, input[type=submit].reduced, .linkbutton.reduced {
  margin: 0;
  padding: 5px;
}
button.critical, input[type=submit].critical, .linkbutton.critical {
  background-color: red;
  color: white !important;
}
button.critical:hover, input[type=submit].critical:hover, .linkbutton.critical:hover {
  background-color: #ff3333;
}
button.critical:active, input[type=submit].critical:active, .linkbutton.critical:active {
  background-color: rgb(149.175, 80.325, 80.325);
}
button.critical:disabled, input[type=submit].critical:disabled, .linkbutton.critical:disabled {
  background-color: rgb(174.675, 156.825, 156.825);
}
button.critical.reduced, input[type=submit].critical.reduced, .linkbutton.critical.reduced {
  margin: 0;
  padding: 5px;
}
button.warn, input[type=submit].warn, .linkbutton.warn {
  background-color: #fbfb8d;
  color: black !important;
}
button.warn:hover, input[type=submit].warn:hover, .linkbutton.warn:hover {
  background-color: rgb(251.8, 251.8, 163.8);
}
button.warn:active, input[type=submit].warn:active, .linkbutton.warn:active {
  background-color: rgb(198.3813559322, 198.3813559322, 154.4186440678);
}
button.warn:disabled, input[type=submit].warn:disabled, .linkbutton.warn:disabled {
  background-color: rgb(217.55, 217.55, 209.85);
}
button.warn.reduced, input[type=submit].warn.reduced, .linkbutton.warn.reduced {
  margin: 0;
  padding: 5px;
}

input[type=file]::file-selector-button {
  background-color: rgb(177, 206, 204.5);
  color: black !important;
  margin: 10px;
}
input[type=file]::file-selector-button:hover {
  background-color: rgb(192.6, 215.8, 214.6);
}
input[type=file]::file-selector-button:active {
  background-color: rgb(166.6881496063, 178.0118503937, 177.4261417323);
}
input[type=file]::file-selector-button:disabled {
  background-color: rgb(209.535, 211.565, 211.46);
}
input[type=file]::file-selector-button.reduced {
  margin: 0;
  padding: 5px;
}

p {
  margin: 15px 0;
}

.pagebutton {
  background-color: rgb(177, 206, 204.5);
  color: black !important;
  padding: 5px 5px;
  margin: 0;
  display: inline-block;
  min-width: 20px;
  text-align: center;
}
.pagebutton:hover {
  background-color: rgb(192.6, 215.8, 214.6);
}
.pagebutton:active {
  background-color: rgb(166.6881496063, 178.0118503937, 177.4261417323);
}
.pagebutton:disabled {
  background-color: rgb(209.535, 211.565, 211.46);
}
.pagebutton.reduced {
  margin: 0;
  padding: 5px;
}

.currentpage {
  border: none;
  padding: 5px 5px;
  margin: 0;
  display: inline-block;
  min-width: 20px;
  text-align: center;
}

.modform {
  display: inline;
}

.login-container > * {
  width: 40%;
  margin: auto;
}

.settings-container > * {
  width: 40%;
  margin: auto;
}

.avatar-form {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 20px 0;
}

input[type=text], input[type=password], textarea, select {
  border: 1px solid black;
  border-radius: 4px;
  padding: 7px 10px;
  width: 100%;
  box-sizing: border-box;
  resize: vertical;
  color: black;
  background-color: rgb(217.8, 225.6, 208.2);
}
input[type=text]:focus, input[type=password]:focus, textarea:focus, select:focus {
  background-color: rgb(230.2, 235.4, 223.8);
}

.infobox {
  border: 2px solid black;
  background-color: #81a3e6;
  padding: 20px 15px;
  color: black;
}
.infobox.critical {
  background-color: #ed8181;
  color: black;
}
.infobox.warn {
  background-color: #fbfb8d;
  color: black;
}

.infobox > span {
  display: flex;
  align-items: center;
}

.infobox-icon-container {
  min-width: 60px;
  padding-right: 15px;
}

.thread {
  display: grid;
  grid-template-columns: 96px 1.6fr 96px;
  grid-template-rows: 1fr;
  gap: 0;
  grid-auto-flow: row;
  min-height: 96px;
  grid-template-areas: "thread-sticky-container thread-info-container thread-locked-container";
}

.thread-sticky-container {
  grid-area: thread-sticky-container;
  border: 2px outset rgb(217.26, 220.38, 213.42);
  background-color: none;
}

.thread-locked-container {
  grid-area: thread-locked-container;
  border: 2px outset rgb(217.26, 220.38, 213.42);
  background-color: none;
}

.contain-svg {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.contain-svg:not(.full) > svg, .contain-svg:not(.full) > img {
  height: 50%;
  width: 50%;
}
.contain-svg.full > svg, .contain-svg.full > img {
  height: 100%;
  width: 100%;
}

.post-img-container {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}

.post-image {
  object-fit: contain;
  max-width: 400px;
  max-height: 400px;
  min-width: 200px;
  min-height: 200px;
  flex: 1 1 0%;
  width: auto;
  height: auto;
}

.thread-info-container {
  grid-area: thread-info-container;
  background-color: #c1ceb1;
  padding: 5px 20px;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  max-height: 110px;
  mask-image: linear-gradient(180deg, #000 60%, transparent);
}

.thread-info-post-preview {
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline;
  margin-right: 25%;
}

.babycode-guide-section {
  background-color: #c1ceb1;
  padding: 5px 20px;
  border: 1px solid black;
  padding-right: 25%;
}

.babycode-guide-container {
  display: grid;
  grid-template-columns: 1.5fr 300px;
  grid-template-rows: 1fr;
  gap: 0;
  grid-auto-flow: row;
  grid-template-areas: "guide-topics guide-toc";
}

.guide-topics {
  grid-area: guide-topics;
  overflow: hidden;
}

.guide-toc {
  grid-area: guide-toc;
  position: sticky;
  top: 100px;
  align-self: start;
  padding: 10px;
  border-bottom-right-radius: 8px;
  background-color: rgb(177, 206, 204.5);
  border-right: 1px solid black;
  border-top: 1px solid black;
  border-bottom: 1px solid black;
}

.emoji-table tr td {
  text-align: center;
}

.emoji-table tr th {
  padding-left: 50px;
  padding-right: 50px;
}

.emoji-table {
  margin: auto;
}

.emoji-table, th, td {
  border: 1px solid black;
  border-collapse: collapse;
}

.colorful-table {
  border-collapse: collapse;
  width: 100%;
  margin: 10px 0;
  overflow: hidden;
}

.colorful-table tr th {
  background-color: #beb1ce;
  padding: 5px 0;
}

.colorful-table tr td {
  background-color: rgb(177, 206, 204.5);
  padding: 5px 0;
  text-align: center;
}

.colorful-table .small {
  width: 250px;
}

.topic {
  display: grid;
  grid-template-columns: 1.5fr 96px;
  grid-template-rows: 1fr;
  gap: 0;
  grid-auto-flow: row;
  grid-template-areas: "topic-info-container topic-locked-container";
}

.topic-info-container {
  grid-area: topic-info-container;
  background-color: #c1ceb1;
  padding: 5px 20px;
  border: 1px solid black;
  display: flex;
  flex-direction: column;
}

.topic-locked-container {
  grid-area: topic-locked-container;
  border: 2px outset rgb(217.26, 220.38, 213.42);
  background-color: none;
}

.draggable-topic {
  cursor: pointer;
  user-select: none;
  background-color: #c1ceb1;
  padding: 20px;
  margin: 15px 0;
  border-top: 5px outset rgb(217.26, 220.38, 213.42);
  border-bottom: 5px outset rgb(135.1928346457, 145.0974015748, 123.0025984252);
}
.draggable-topic.dragged {
  background-color: rgb(177, 206, 204.5);
}

.editing {
  background-color: rgb(217.26, 220.38, 213.42);
}

.context-explain {
  margin: 20px 0;
  display: flex;
  justify-content: space-evenly;
}

.post-edit-form {
  display: flex;
  flex-direction: column;
  align-items: baseline;
  height: 100%;
}

.babycode-editor {
  height: 150px;
  font-size: 1rem;
}

.babycode-editor-container {
  width: 100%;
}

.babycode-preview-errors-container {
  font-size: 0.8rem;
}

.tab-button {
  background-color: rgb(177, 206, 204.5);
  color: black !important;
  border-bottom: none;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
  margin-bottom: 0;
}
.tab-button:hover {
  background-color: rgb(192.6, 215.8, 214.6);
}
.tab-button:active {
  background-color: rgb(166.6881496063, 178.0118503937, 177.4261417323);
}
.tab-button:disabled {
  background-color: rgb(209.535, 211.565, 211.46);
}
.tab-button.reduced {
  margin: 0;
  padding: 5px;
}
.tab-button.active {
  background-color: #beb1ce;
  padding-top: 8px;
}

.tab-content {
  display: none;
}
.tab-content.active {
  min-height: 250px;
  display: block;
  background-color: rgb(191.3137931034, 189.7, 193.3);
  border: 1px solid black;
  padding: 10px;
  border-top-right-radius: 4px;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}

ul, ol {
  margin: 10px 0 10px 30px;
  padding: 0;
}

.new-concept-notification.hidden {
  display: none;
}

.new-concept-notification {
  position: fixed;
  bottom: 80px;
  right: 80px;
  border: 1px solid black;
  background-color: #81a3e6;
  padding: 20px 15px;
  border-radius: 4px;
  box-shadow: 0 0 30px rgba(0, 0, 0, 0.25);
}

.emoji {
  max-width: 15px;
  max-height: 15px;
}

.accordion {
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
  box-sizing: border-box;
  border: 1px solid black;
  margin: 10px 5px;
  overflow: hidden;
}

.accordion.hidden {
  border-bottom: none;
}

.accordion-header {
  display: flex;
  align-items: center;
  background-color: rgb(159.0271653543, 162.0727712915, 172.9728346457);
  padding: 0 10px;
  gap: 10px;
  border-bottom: 1px solid black;
}

.accordion-toggle {
  padding: 0;
  width: 36px;
  height: 36px;
  min-width: 36px;
  min-height: 36px;
}

.accordion-title {
  margin-right: auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.accordion-content {
  padding: 0 15px;
}

.accordion-content.hidden {
  display: none;
}

.post-accordion-content {
  padding-top: 10px;
  padding-bottom: 10px;
  background-color: rgb(173.5214173228, 183.6737007874, 161.0262992126);
}

.inbox-container {
  padding: 10px;
}

.babycode-button-container {
  display: flex;
  gap: 5px;
  flex-wrap: wrap;
}

.babycode-button {
  padding: 5px 10px;
  min-width: 36px;
}
.babycode-button > * {
  font-size: 1rem;
}

.quote-popover {
  position: absolute;
  transform: translateX(-50%);
  margin: 0;
  border: none;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5019607843);
  padding: 5px 10px;
}

footer {
  border-top: 1px solid black;
}

.reaction-button.active {
  background-color: #beb1ce;
  color: black !important;
}
.reaction-button.active:hover {
  background-color: rgb(203, 192.6, 215.8);
}
.reaction-button.active:active {
  background-color: rgb(171.7642913386, 166.6881496063, 178.0118503937);
}
.reaction-button.active:disabled {
  background-color: rgb(210.445, 209.535, 211.565);
}
.reaction-button.active.reduced {
  margin: 0;
  padding: 5px;
}

.reaction-popover {
  position: relative;
  margin: 0;
  border: none;
  border-radius: 4px;
  background-color: rgba(0, 0, 0, 0.5019607843);
  padding: 5px 10px;
  width: 250px;
}

.reaction-popover-inner {
  display: flex;
  flex-wrap: wrap;
  overflow: scroll;
  margin: auto;
  justify-content: center;
}

.babycode-guide-list {
  border-bottom: 1px dashed;
}
