.pirate-scene {
  background: #a9dbd8;
  overflow: hidden;
}
.pirate-card-island {
  position: absolute;
  width: 120%;
  height: 100px;
  left: -10%;
  bottom: -30px;
  border-radius: 50%;
  background: #edcf9c;
  border: 8px solid #f7e5b6;
}
.pirate-card-sun {
  position: absolute;
  right: 33px;
  top: 25px;
  width: 44px;
  height: 44px;
  background: #fff0b2;
  border-radius: 50%;
}
.pirate-card-treasure {
  position: absolute;
  right: 38px;
  bottom: 15px;
  width: 125px;
}
.pirate-card-peppa {
  position: absolute;
  left: 29px;
  bottom: 7px;
  width: 90px;
}
.pirate-card-peppa > svg {
  width: 100%;
  height: auto;
}
.pirate-card-peppa > span {
  position: absolute;
  width: 59px;
  left: 17px;
  top: -4px;
}
.pirate-card-trail {
  position: absolute;
  bottom: 13px;
  left: 47%;
  color: #ba9871;
  font-size: 21px;
}
.pirate-card-palm {
  position: absolute;
  left: 130px;
  top: 46px;
  width: 100px;
  line-height: 1;
  color: #75ad91;
  transform: rotate(-16deg);
}
.clue-drawing svg {
  width: 100%;
  height: 100%;
}
.pirate-card-badge {
  position: absolute;
  left: 18px;
  top: 17px;
  background: #fff2cc;
  color: #7d805e;
  padding: 7px 12px;
  border-radius: 20px;
  font-size: 10px;
  border: 2px solid #fff9e7;
}
.game-pirate {
  background: #cce7df;
}
.game-pirate .playfield.map-open {
  z-index: 7;
}
.game-pirate .game-header h2 {
  color: #4c7b7d;
}
.game-pirate .explore-chapter {
  color: #517d7c;
  border-color: #77aaa2;
  background: linear-gradient(90deg, #fff8dfdd, #fff8df00);
}
.game-pirate .explore-route {
  color: #6e9690;
}
.game-pirate .explore-controls button {
  color: #4c6c63;
  box-shadow: 0 5px 0 #568d8550;
}
.game-pirate .explore-controls .explore-jump {
  color: #633449;
}
.game-pirate .explore-controls .explore-interact.available {
  color: #725b37;
}
.game-pirate .game-bottom {
  background: #fffae9ed;
}
.pirate-log {
  pointer-events: auto;
  padding: 11px 15px 9px;
  border-radius: 7px 17px 17px 7px;
  color: #877b5e;
  background: #fff5ddec;
  box-shadow:
    -4px 0 #ceb88d,
    0 4px 0 #528d8220;
  transform: rotate(2deg);
}
.pirate-log button {
  display: flex;
  align-items: center;
  gap: 12px;
  border: 0;
  background: transparent;
  color: inherit;
  padding: 0;
  font: inherit;
  text-align: left;
}
.pirate-log button > span:last-child {
  font-size: 13px;
}
.pirate-log button b {
  color: #597f77;
  margin-left: 6px;
}
.pirate-log small {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  color: #9c8b64;
}
.pirate-log .map-symbol {
  display: grid;
  place-items: center;
  font-size: 36px;
  background: #efdbac;
  width: 43px;
  height: 47px;
  border: 2px dashed #c2a776;
  border-radius: 5px;
  transform: rotate(-8deg);
}
.pirate-shell-count {
  display: block;
  border-top: 1px dashed #d8cba7;
  margin-top: 10px;
  padding-top: 8px;
  font-size: 11px;
  text-align: center;
}
.pirate-tide {
  position: absolute;
  top: 205px;
  left: 50%;
  transform: translateX(-50%);
  background: #fff9e5e8;
  border-radius: 12px;
  padding: 9px 15px;
  color: #608c88;
  text-align: center;
  min-width: 190px;
  pointer-events: none;
}
.pirate-tide > span {
  font-size: 12px;
}
.pirate-tide > div {
  height: 5px;
  background: #d3e5da;
  border-radius: 4px;
  margin-top: 7px;
  overflow: hidden;
}
.pirate-tide i {
  display: block;
  height: 100%;
  background: #6bb8b5;
  border-radius: 4px;
}
.pirate-map-layer {
  position: absolute;
  inset: 0;
  z-index: 12;
  display: grid;
  place-items: center;
  padding: 22px;
  background: #56796c70;
  backdrop-filter: blur(5px);
  overflow: auto;
}
.pirate-map-layer[hidden],
.pirate-tide[hidden] {
  display: none;
}
.pirate-map-paper {
  width: min(620px, 100%);
  max-height: 100%;
  overflow: auto;
  padding: 32px;
  color: #887655;
  text-align: center;
  background: #fff1cd;
  border: 6px solid #fff9e5;
  border-radius: 10px 30px 16px 28px;
  box-shadow: 0 10px 0 #566e552b;
}
.pirate-map-overline {
  font-size: 11px;
  letter-spacing: 3px;
  color: #aa946c;
}
.pirate-map-paper h2 {
  margin: 12px 0;
  color: #7b6c50;
  font-size: 29px;
}
.pirate-map-paper h2:focus {
  outline: none;
}
.pirate-map-intro {
  margin: 0 0 25px;
  font-size: 14px;
}
.pirate-clues {
  display: flex;
  gap: 12px;
  margin: 20px 0;
}
.pirate-clue {
  flex: 1;
  min-width: 0;
  border: 2px dashed #d4c6a4;
  border-radius: 12px;
  padding: 16px 7px;
  background: #f6e8c8;
}
.pirate-clue .clue-drawing {
  display: block;
  font-size: 35px;
  height: 58px;
  color: #c4b797;
}
.pirate-clue b {
  font-size: 14px;
}
.pirate-clue p {
  font-size: 11px;
  line-height: 1.7;
  margin: 10px 0 0;
}
.pirate-clue.found {
  border-style: solid;
  border-color: #b1be91;
  background: #fff9e4;
  transform: rotate(-2deg);
}
.pirate-clue.found .clue-drawing {
  color: #6c9b7d;
}
.pirate-clue.found:nth-child(2) .clue-drawing {
  color: #c18473;
}
.pirate-clue.found:nth-child(3) .clue-drawing {
  color: #e49c75;
}
.pirate-map-note {
  font-size: 11px;
  line-height: 1.8;
  margin-bottom: 22px;
}
.pirate-map-paper .button {
  min-height: 48px;
}
@media (max-width: 1000px) {
  .pirate-tide {
    top: 225px;
    left: auto;
    right: 28px;
    transform: none;
  }
}
@media (max-width: 600px) {
  .game-pirate .explore-hud {
    gap: 6px;
  }
  .game-pirate .explore-chapter b {
    font-size: 15px;
    letter-spacing: 0;
  }
  .pirate-log {
    padding: 8px 9px;
  }
  .pirate-log button {
    gap: 6px;
  }
  .pirate-log button > span:last-child {
    font-size: 10px;
  }
  .pirate-log button b {
    margin-left: 3px;
  }
  .pirate-log small {
    font-size: 8px;
  }
  .pirate-log .map-symbol {
    width: 28px;
    height: 34px;
    font-size: 27px;
  }
  .pirate-shell-count {
    margin-top: 6px;
    padding-top: 5px;
    font-size: 10px;
  }
  .pirate-tide {
    top: 213px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    padding: 7px 12px;
  }
  .pirate-tide > span {
    font-size: 10px;
  }
  .pirate-map-layer {
    padding: 15px;
  }
  .pirate-map-paper {
    padding: 22px 15px;
  }
  .pirate-map-paper h2 {
    font-size: 23px;
  }
  .pirate-map-intro {
    font-size: 11px;
    line-height: 1.8;
    margin-bottom: 15px;
  }
  .pirate-clues {
    gap: 6px;
    margin: 12px 0;
  }
  .pirate-clue {
    padding: 13px 4px;
  }
  .pirate-clue .clue-drawing {
    font-size: 25px;
    height: 43px;
  }
  .pirate-clue b {
    font-size: 11px;
  }
  .pirate-clue p {
    font-size: 9px;
  }
  .pirate-map-paper .button {
    font-size: 12px;
    padding: 10px 13px;
  }
}
@media (max-height: 500px) and (orientation: landscape) {
  .game-pirate .explore-route {
    top: 155px;
  }
  .pirate-log {
    padding: 5px 10px;
  }
  .pirate-log .map-symbol {
    height: 32px;
    width: 29px;
    font-size: 24px;
  }
  .pirate-log small {
    display: none;
  }
  .pirate-shell-count {
    margin-top: 4px;
    padding-top: 4px;
    font-size: 9px;
  }
  .pirate-tide {
    top: 83px;
    left: 50%;
    right: auto;
    transform: translateX(-50%);
    min-width: 175px;
    padding: 8px;
  }
  .pirate-tide > span {
    font-size: 10px;
  }
  .pirate-map-paper {
    padding: 12px 22px;
  }
  .pirate-map-paper h2 {
    font-size: 21px;
    margin: 6px 0;
  }
  .pirate-map-intro {
    margin-bottom: 8px;
  }
  .pirate-clues {
    margin: 8px 0;
  }
  .pirate-clue {
    padding: 6px;
  }
  .pirate-clue .clue-drawing {
    height: 30px;
    font-size: 23px;
  }
  .pirate-clue p {
    margin-top: 4px;
  }
  .pirate-map-note {
    margin: 5px 0 10px;
  }
}
