* { box-sizing: border-box; }
body {
  font-family: Arial, sans-serif;
  background: #FFFDF7;
  color: #1F2937;
  margin: 0;
  padding: 24px;
}
.wrap { max-width: 420px; margin: 0 auto; }
.wrap.wide { max-width: 800px; }
h1 { margin-bottom: 0; }
.tagline { color: #4B5563; font-style: italic; margin-top: 4px; }
.card-box {
  background: #fff;
  border: 1px solid #E5E7EB;
  border-radius: 10px;
  padding: 16px;
  margin-top: 16px;
}
input {
  width: 100%;
  padding: 10px;
  margin: 8px 0;
  border: 1px solid #D1D5DB;
  border-radius: 6px;
  font-size: 14px;
}
button {
  width: 100%;
  padding: 10px;
  background: #2563EB;
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  cursor: pointer;
}
button:hover { background: #1D4ED8; }
.msg { color: #DC2626; font-size: 13px; min-height: 18px; }
.note { color: #6B7280; font-size: 12px; margin-top: 20px; }
table { width: 100%; border-collapse: collapse; margin-top: 16px; }
th, td { border: 1px solid #E5E7EB; padding: 8px; text-align: left; font-size: 13px; }
th { background: #F3F4F6; }

button:disabled { background: #9CA3AF; cursor: not-allowed; }
button.danger { background: #DC2626; }
button.danger:hover { background: #B91C1C; }
.diceArea { display: flex; align-items: center; gap: 10px; margin-top: 10px; }
.diceArea button { flex: 1; margin-top: 0; }
#diceResult { font-size: 22px; font-weight: bold; width: 40px; text-align: center; }
#boardWrap { margin-top: 16px; background: #fff; border: 1px solid #E5E7EB; border-radius: 10px; padding: 8px; }
#boardSvg { width: 100%; height: auto; display: block; }
