/* MoveMonkey's site: the home's day colours (Phone/HomeStyle.swift, HomePalette.day) and
   its night colours for dark mode. */
:root {
  --field: #FFF1E0;
  --sheet: #FFFBF6;
  --text: #4A1904;
  --secondary: #8A5A44;
  --rule: #F1CDA9;
  --link: #C24600;
}
@media (prefers-color-scheme: dark) {
  :root {
    --field: #0C121D;
    --sheet: #202B43;
    --text: #FFE9D6;
    --secondary: #B7A79A;
    --rule: #24314C;
    --link: #FFC63A;
  }
}
* { box-sizing: border-box; }
body {
  margin: 0;
  background: var(--field);
  color: var(--text);
  font: 17px/1.7 -apple-system, BlinkMacSystemFont, "PingFang SC", "Helvetica Neue", sans-serif;
  -webkit-text-size-adjust: 100%;
}
main {
  max-width: 680px;
  margin: 0 auto;
  padding: 40px 16px 64px;
}
header { display: flex; align-items: center; gap: 14px; margin-bottom: 28px; }
header img { width: 56px; height: 56px; border-radius: 13px; }
header a { color: inherit; text-decoration: none; font-weight: 700; font-size: 22px; }
h1 { font-size: 28px; line-height: 1.3; margin: 0 0 6px; }
h2 { font-size: 20px; margin: 32px 0 8px; }
p, li { margin: 0 0 12px; }
ul, ol { padding-left: 1.2em; }
a { color: var(--link); }
.meta { color: var(--secondary); font-size: 15px; margin-bottom: 24px; }
.card {
  background: var(--sheet);
  border-radius: 18px;
  padding: 20px 20px 8px;
  margin: 20px 0;
}
.lang { border-top: 1px solid var(--rule); margin-top: 48px; padding-top: 24px; }
footer { color: var(--secondary); font-size: 14px; margin-top: 48px; }
footer a { color: inherit; }
/* The privacy policy's lists of what is processed (B26): scroll sideways on a narrow screen. */
.table { overflow-x: auto; margin: 0 0 1em; }
table { border-collapse: collapse; font-size: 15px; line-height: 1.5; min-width: 560px; }
th, td { border-top: 1px solid var(--rule); padding: 8px 10px 8px 0; text-align: left; vertical-align: top; }
th { color: var(--secondary); font-weight: 600; }
/* The other languages of the same page, at the header's right. */
.langs { margin-left: auto; display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 4px 12px; font-size: 14px; }
.langs a, .langs span { font-weight: 400; font-size: 14px; }
.langs a { color: var(--link); }
.langs span { color: var(--secondary); }
/* On a phone the languages take their own line under the name. */
header { flex-wrap: wrap; }
@media (max-width: 480px) {
  .langs { margin-left: 0; width: 100%; justify-content: flex-start; }
}
/* The home page (index.html in each language): the icon, the name, the slogan and one line, when it comes to
   the App Store, three screens of the app (the status bar cut off) each with a line under it,
   three facts, then the two other pages. */
.home header { justify-content: flex-end; margin-bottom: 8px; }
.home .langs { margin-left: 0; justify-content: flex-end; }
.hero { text-align: center; padding: 24px 0 8px; }
.hero img { width: 112px; height: 112px; border-radius: 25px; }
.hero .name { font-size: 17px; font-weight: 600; color: var(--secondary); margin: 14px 0 4px; }
.hero h1 { font-size: 44px; line-height: 1.15; margin: 0 0 12px; letter-spacing: -0.01em; text-wrap: balance; }
.tagline { font-size: 20px; line-height: 1.5; color: var(--secondary); max-width: 32em; margin: 0 auto 24px; text-wrap: balance; }
.store { display: inline-block; border: 1px solid var(--rule); border-radius: 999px; padding: 8px 20px; font-size: 15px; color: var(--secondary); }
/* Three iPhone screens side by side; on a phone, a row that scrolls sideways. */
.shots { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin: 40px 0 32px; padding: 0; list-style: none; }
.shots li { margin: 0; }
.shots p { margin: 14px 4px 0; font-size: 15px; line-height: 1.5; text-align: center; color: var(--secondary); text-wrap: balance; }
.shots img { display: block; width: 100%; height: auto; aspect-ratio: 640 / 1296; border-radius: 8% / 4%; box-shadow: 0 6px 24px rgba(74, 25, 4, 0.14); }
@media (max-width: 560px) {
  .shots { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 62%; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 32px -16px 24px; padding: 4px 16px 16px; }
  .shots li { scroll-snap-align: center; }
}
.facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px 0; list-style: none; padding: 0; margin: 0 0 24px; font-size: 15px; color: var(--secondary); }
.facts li { margin: 0; }
.facts li + li::before { content: "·"; margin: 0 10px; }
@media (max-width: 560px) {
  .hero h1 { font-size: 36px; }
  .tagline { font-size: 18px; }
  .facts { flex-direction: column; align-items: center; }
  .facts li + li::before { content: none; }
}
