body {
  font-family: -apple-system, BlinkMacSystemFont, sans-serif;
  margin: 2rem;
  max-width: 1600px;
  color: #222;
}

h1 { font-size: 1.5rem; }
h2 { font-size: 1.1rem; margin: 0.5em 0; }

#upload-section { margin-bottom: 1.5rem; }
#upload-status { color: #a33; margin-top: 0.5rem; }

.row { display: flex; gap: 1.5rem; flex-wrap: wrap; }
.col { flex: 1 1 500px; }

#preview { max-width: 100%; height: auto; border: 1px solid #ccc; }

#board-svg { background: #f0e7d0; border: 1px solid #999; }

#controls { margin: 1.5rem 0; }
.ctl-row { display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.ctl-row label { display: flex; flex-direction: column; font-size: 0.85em; }
.ctl-row select, .ctl-row button {
  padding: 4px 8px;
  font-size: 0.95em;
}
#analyze-btn {
  background: #2a7;
  color: white;
  border: none;
  padding: 6px 14px;
  cursor: pointer;
  font-weight: 600;
}

#warnings { color: #b60; font-size: 0.9em; margin-top: 0.5rem; }
#warnings:empty { display: none; }

#recommended {
  font-size: 1.2em;
  font-weight: 600;
  margin: 0.5rem 0;
  padding: 0.75rem;
  background: #e5f5e5;
  border-left: 4px solid #2a7;
}

table { border-collapse: collapse; margin-top: 0.5rem; }
table td, table th {
  padding: 4px 10px;
  border-bottom: 1px solid #ddd;
  font-size: 0.9em;
}
table th { text-align: left; background: #eee; }
