*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.chart-grid{display:flex;flex-direction:column;border:1px solid #d9d9d9;background:#fff;-webkit-user-select:none;user-select:none}.chart-row{display:flex}.chart-cell{width:32px;height:32px;border:1px solid #e8e8e8;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s;font-size:10px;position:relative}.chart-cell:hover{background-color:#f5f5f5;border-color:#1890ff}.chart-cell.selected{border-color:#1890ff;border-width:2px}.chart-cell.has-stitch{background-size:contain;background-repeat:no-repeat;background-position:center}.chart-cell .stitch-symbol{font-size:14px;font-weight:700}.chart-cell .cell-number{position:absolute;top:1px;right:2px;font-size:8px;color:#666}.chart-cell.important:after{content:"!";position:absolute;bottom:1px;right:2px;font-size:8px;color:#ff4d4f;font-weight:700}.stitch-picker{display:flex;flex-wrap:wrap;gap:8px;padding:12px;background:#fafafa;border-radius:8px;max-height:300px;overflow-y:auto}.stitch-item{width:48px;height:48px;border:2px solid #d9d9d9;border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:#fff;transition:all .15s}.stitch-item:hover{border-color:#1890ff;transform:scale(1.05)}.stitch-item.selected{border-color:#1890ff;background:#e6f7ff}.color-picker{display:flex;flex-wrap:wrap;gap:8px;padding:12px}.color-swatch{width:32px;height:32px;border-radius:50%;border:2px solid #d9d9d9;cursor:pointer;transition:all .15s}.color-swatch:hover{transform:scale(1.1)}.color-swatch.selected{border-color:#1890ff;box-shadow:0 0 0 2px #1890ff4d}.row-numbers{display:flex;flex-direction:column;margin-right:4px}.row-number{width:24px;height:32px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666}.col-numbers{display:flex;margin-bottom:4px;margin-left:28px}.col-number{width:32px;height:20px;display:flex;align-items:center;justify-content:center;font-size:12px;color:#666}.tool-panel{padding:16px;background:#fafafa;border-radius:8px;margin-bottom:16px}.tool-section{margin-bottom:16px}.tool-section h4{margin-bottom:8px;color:#333}
