:root {
  --bg: #f3f4f6;
  --panel: #ffffff;
  --line: #e5e7eb;
  --ink: #111827;
  --muted: #6b7280;
  --brand: #0f766e;
  --brand-light: #ccfbf1;
  --radius: 16px;
  --shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "Meiryo", sans-serif;
  background: #e5e3df;
  color: var(--ink);
}

html, body {
  height: 100%;
}

.map-full {
  position: fixed;
  inset: 0;
  z-index: 0;
  background: #e5e3df;
}

y: flex;
  align-items: center;
  gap: 12px;
}

.brand-mark {
  width: 36px;
  height: 36px;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--brand), #22c55e);
  box-shadow: inset 0 0 0 2px #fff;
}

.brand-title {
  font-size: 16px;
  font-weight: 700;
}

.brand-sub {
  font-size: 12px;
  color: var(--muted);
}

.status {
  font-size: 13px;
  color: var(--muted);
  background: var(--brand-light);
  padding: 6px 12px;
  border-radius: 999px;
}

.content {
  display: grid;
  grid-template-columns: 2.2fr 1fr;
  gap: 20px;
  margin-top: 20px;
}

.panel {
  background: var(--panel);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}

#map {
  min-height: 520px;
}

.log {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.log-title {
  font-weight: 700;
  font-size: 14px;
}

.log-body {
  font-size: 13px;
  color: var(--muted);
  white-space: pre-line;
}

@media (max-width: 900px) {
  .content {
    grid-template-columns: 1fr;
  }
}
flex-direction: column;
  gap: 10px;
}

.log-title {
  font-weight: 700;
  font-size: 14px;
}

.log-body {
  font-size: 13px;
  color: var(--muted);
  white-space: pre-line;
}

@media (max-width: 900px) {
  .content {
    grid-template-columns: 1fr;
  }
}
 grid-template-columns: 1fr;
  }
}
