.compress {
  width: 100%;
  height: 100%;
  contain: strict;
  display: grid;
  grid-template-rows: max-content 1fr;
  grid-template-areas:
    'header'
    'opts';

  --options-radius: 7px;

  @media (min-width: 600px) {
    grid-template-rows: max-content 1fr;
    grid-template-columns: max-content 1fr max-content;
    grid-template-areas:
      'header header header'
      'optsLeft viewportOpts optsRight';
  }
}

.options {
  position: relative;
  color: #fff;
  font-size: 1.2rem;
  max-width: 400px;
  margin: 0 auto;
  width: calc(100% - 60px);
  max-height: 100%;
  overflow: hidden;
  grid-area: opts;
  display: grid;
  grid-template-rows: 1fr max-content;
  align-content: end;
  align-self: end;

  @media (min-width: 600px) {
    width: 300px;
    margin: 0;
  }
}

.options-1-theme {
  --main-theme-color: var(--pink);
  --hot-theme-color: var(--hot-pink);
  --header-text-color: var(--white);
  --scroller-radius: var(--options-radius) var(--options-radius) 0 0;
  --rotate-copyoverbutton-angle: 90deg; /* To point down */

  @media (min-width: 600px) {
    --scroller-radius: 0 var(--options-radius) var(--options-radius) 0;
    --rotate-copyoverbutton-angle: 0deg; /* To point right (no change) */
  }
}

.options-2-theme {
  --main-theme-color: var(--blue);
  --hot-theme-color: var(--deep-blue);
  --header-text-color: var(--dark-text);
  --scroller-radius: var(--options-radius) var(--options-radius) 0 0;
  --rotate-copyoverbutton-angle: -90deg; /* To point up */

  @media (min-width: 600px) {
    --scroller-radius: var(--options-radius) 0 0 var(--options-radius);
    --rotate-copyoverbutton-angle: 180deg; /* To point left */
  }
}

.options-1 {
  composes: options;
  composes: options-1-theme;
  grid-area: optsLeft;
}

.options-2 {
  composes: options;
  composes: options-2-theme;
  grid-area: optsRight;
}

.multi-panel {
  position: relative;
  display: flex;
  flex-flow: column;
  overflow: hidden;

  /* Reorder so headings appear after content: */
  & > :nth-child(1) {
    order: 2;
    margin-bottom: 10px;
  }

  & > :nth-child(2) {
    order: 1;
  }

  & > :nth-child(3) {
    order: 4;
  }

  & > :nth-child(4) {
    order: 3;
  }
}

.back {
  composes: unbutton from global;
  position: relative;
  grid-area: header;
  margin: 9px;
  justify-self: start;
  align-self: start;

  & > svg {
    width: 47px;
    overflow: visible;
  }

  &:focus .back-blob {
    stroke: var(--deep-blue);
    stroke-width: 5px;
    animation: strokePulse 500ms ease forwards;
  }

  @media (min-width: 600px) {
    margin: 14px;

    & > svg {
      width: 58px;
    }
  }
}

@keyframes strokePulse {
  from {
    stroke-width: 8px;
  }
  to {
    stroke-width: 5px;
  }
}

.back-blob {
  fill: var(--hot-pink);
  opacity: 0.77;
}

.back-x {
  fill: var(--white);
}
