* { margin:0; padding:0; box-sizing:border-box; }
body { font-family: -apple-system, BlinkMacSystemFont, "Microsoft YaHei", sans-serif; background:#f5f6fa; color:#333; line-height:1.6; }
.container { max-width:1000px; margin:0 auto; padding:0 16px; }

/* 顶部导航 */
.topbar { background:#fff; box-shadow:0 1px 4px rgba(0,0,0,.06); position:sticky; top:0; z-index:100; }
.topbar .container { display:flex; justify-content:space-between; align-items:center; height:56px; }
.logo { font-size:18px; font-weight:700; color:#6c5ce7; }
.topbar nav a { margin-left:20px; color:#666; text-decoration:none; font-size:14px; }
.topbar nav a:hover { color:#6c5ce7; }

/* 上传区 */
.upload-zone { margin:30px auto; background:#fff; border:2px dashed #d0d3e0; border-radius:16px; padding:50px 20px; text-align:center; cursor:pointer; transition:all .2s; }
.upload-zone:hover, .upload-zone.dragover { border-color:#6c5ce7; background:#f8f7ff; }
.upload-icon { font-size:48px; margin-bottom:12px; }
.upload-text { font-size:16px; color:#555; margin-bottom:6px; }
.upload-hint { font-size:13px; color:#999; }

/* 面板 */
.panel, .preview-area, .color-stats, .guide { background:#fff; border-radius:12px; padding:24px; margin-bottom:24px; box-shadow:0 1px 4px rgba(0,0,0,.04); }
.panel h2, .preview-header h2, .color-stats h2, .guide h2 { font-size:17px; margin-bottom:16px; color:#333; }
.setting-row { display:flex; flex-wrap:wrap; gap:20px; align-items:flex-end; }
.setting-item { display:flex; flex-direction:column; }
.setting-item label { font-size:13px; color:#888; margin-bottom:6px; }
.setting-item select { padding:8px 10px; border:1px solid #ddd; border-radius:8px; font-size:14px; outline:none; min-width:140px; }
.checkbox-label { display:flex; align-items:center; font-size:13px; color:#666; margin-bottom:4px; cursor:pointer; }
.checkbox-label input { margin-right:6px; }

/* 按钮 */
.btn-primary { background:#6c5ce7; color:#fff; border:none; padding:10px 24px; border-radius:8px; font-size:14px; cursor:pointer; transition:background .2s; }
.btn-primary:hover { background:#5a4bd1; }
.btn-secondary { background:#f0f0f5; color:#555; border:none; padding:8px 16px; border-radius:8px; font-size:13px; cursor:pointer; margin-left:8px; transition:background .2s; }
.btn-secondary:hover { background:#e4e4ea; }

/* 预览区 */
.preview-header { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; margin-bottom:16px; }
.canvas-wrap { text-align:center; overflow:auto; background:#fafafa; border-radius:8px; padding:16px; -webkit-overflow-scrolling:touch; }
#beadCanvas { max-width:100%; height:auto; image-rendering:-webkit-optimize-contrast; image-rendering:pixelated; background:#fff; border-radius:4px; }

/* 颜色统计 */
.stats-table-wrap { overflow-x:auto; }
.stats-table { width:100%; border-collapse:collapse; font-size:14px; }
.stats-table th, .stats-table td { padding:10px 12px; text-align:left; border-bottom:1px solid #f0f0f0; }
.stats-table th { background:#f8f8fc; font-weight:600; color:#666; }
.color-chip { display:inline-block; width:24px; height:24px; border-radius:4px; border:1px solid #ddd; vertical-align:middle; }

/* 使用说明 */
.guide ol { padding-left:20px; color:#666; font-size:14px; }
.guide li { margin-bottom:8px; }

/* 页脚 */
.footer { background:#fff; border-top:1px solid #eee; padding:24px 0; text-align:center; font-size:13px; color:#999; margin-top:40px; }
.footer .beian-links { margin-top:6px; }
.footer a { color:#999; text-decoration:none; }
.footer a:hover { color:#6c5ce7; }

/* 响应式 */
@media (max-width:600px) {
  .setting-row { flex-direction:column; }
  .setting-item { width:100%; }
  .setting-item select { min-width:100%; }
  .setting-item input[type=number] { width:100% !important; }
  .preview-header { flex-direction:column; align-items:flex-start; gap:10px; }
  .btn-secondary { margin-left:0; margin-top:6px; width:100%; }
  .panel, .preview-area, .color-stats, .guide { padding:16px; }
  .upload-zone { padding:36px 16px; }
  .upload-icon { font-size:36px; }
  .canvas-wrap { padding:8px; overflow-x:auto; }
  #beadCanvas { max-width:100%; height:auto; }
  .stats-table { font-size:12px; }
  .stats-table th, .stats-table td { padding:8px 6px; }
  .topbar .container { height:48px; }
  .logo { font-size:15px; }
  .topbar nav a { margin-left:12px; font-size:13px; }
  .footer { font-size:12px; padding:16px 0; }
}
