body {
  overscroll-behavior-y: contain;
}

body:has(dialog[open]) {
  overflow: hidden;
}

.always-invisible {
  display: none;
}

.if-revealed {
  display: none;
}

.revealed .if-revealed {
  display: block;
}

.revealed .rating-button {
  display: inline-block;
}

.if-not-revealed {
  display: block;
}

.revealed .if-not-revealed {
  display: none;
}

#review-screen.no-card button {
  display: none;
}

#column-config-table,
#column-config-table th,
#column-config-table td {
  border: 1px solid black;
  border-collapse: collapse;
}

/* Necessary so that the card iframe takes up the remainder of the page. */
html,
body,
#screens,
#screens .screen {
  height: 100%;
  /* Remove default margins */
  margin: 0;
  /* Remove default padding */
  padding: 0;
}

.flex-container {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.flex-container .flex-unshrinkable {
  /* Prevents this element from shrinking */
  flex-shrink: 0;
}

.flex-container .flex-maximize {
  /* Allow iframe to grow and fill remaining space */
  flex-grow: 1;
  /* Optional: Remove iframe border */
  border: none;
  width: 100%;
}

iframe {
  width: 100%;
  height: 100%;
  border: 1px solid #ccc;
}
/* End of iframe sizing stuff */
