* { box-sizing: border-box; margin: 0; padding: 0; }

body {
  font-family: Georgia, serif;
  height: 100vh;
  overflow: hidden;
  background: #f5f0e8;
}

#layout {
  display: flex;
  height: 100vh;
}

#map {
  flex: 0 0 60%;
  height: 100%;
}

#panel {
  flex: 0 0 40%;
  height: 100%;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  background: #f5f0e8;
}

#img-wrap {
  display: flex;
  gap: 4px;
}

#img-wrap img {
  object-fit: cover;
  display: block;
}

#img-wrap img:only-child {
  width: 100%;
}

#img-wrap img:not(:only-child) {
  width: 50%;
}

#credit {
  font-size: 11px;
  color: #999;
  padding: 4px 12px 0 12px;
  font-style: italic;
}

#panel-text {
  padding: 28px 32px;
  flex: 1;
}

#slide-num {
  font-size: 12px;
  color: #999;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}

h2#title {
  font-size: 28px;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 6px;
  color: #2c1810;
}

p#time {
  font-size: 13px;
  color: #8b6f5e;
  margin-bottom: 20px;
  font-style: italic;
}

p#text {
  font-size: 15px;
  line-height: 1.8;
  color: #3d2b1f;
  margin-bottom: 28px;
  white-space: pre-wrap;
}

#controls {
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding-bottom: 32px;
}

button {
  padding: 11px 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  background: white;
  cursor: pointer;
  font-size: 14px;
  font-family: Georgia, serif;
  text-align: left;
}

button:hover { background: #f5f5f5; }

.choice-btn {
  background: #2c3e50;
  color: white;
  border-color: #2c3e50;
  font-size: 16px;
  padding: 14px 20px;
}

.choice-btn:hover { background: #1a252f; }