* { box-sizing: border-box; } body { margin: 0; font-family: "Segoe UI", "Microsoft YaHei", system-ui, sans-serif; background: #efe9dd; color: #333; } .app { display: flex; flex-wrap: wrap; gap: 24px; padding: 24px; max-width: 1000px; margin: 0 auto; align-items: flex-start; } .board-area { flex: 1 1 520px; } canvas { width: 100%; max-width: 640px; aspect-ratio: 1 / 1; display: block; border-radius: 8px; box-shadow: 0 6px 24px rgba(0, 0, 0, 0.18); cursor: pointer; background: #d8a860; } .panel { flex: 0 0 220px; background: #fff; border-radius: 12px; padding: 20px; box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08); display: flex; flex-direction: column; gap: 14px; } h1 { font-size: 22px; margin: 0; } .status { font-size: 15px; padding: 10px 12px; border-radius: 8px; background: #f3ede2; min-height: 42px; display: flex; align-items: center; } label { display: flex; flex-direction: column; gap: 6px; font-size: 13px; color: #666; } select { font: inherit; padding: 8px; border: 1px solid #ddd; border-radius: 8px; background: #fff; color: #333; } button { font: inherit; padding: 10px; border: none; border-radius: 8px; background: #8c5a2b; color: #fff; cursor: pointer; } button:hover { background: #a06a34; } .hint { font-size: 12px; color: #999; margin: 0; line-height: 1.6; }